getActivity()与FragmentActivity:机器人(getActivity() w

2019-09-23 08:23发布

我使用的扩展了另一个抽象类,这个类A(和抽象类扩展FragmentActivity)和我在同一个班我想getActivity()我目前的活动A.功能之一,但每当我使用getActivity,它给我错误getActivity()方法是不是我的类定义的类型。 请帮我 !! 我怎样才能做到这一点?

代码为我的A级

 public class A extends B
 {
  protected void onCreate(Bundle savedInstanceState) 
   {
    super.onCreate(savedInstanceState);


    setContentView(R.layout.voicing);

    //doing another initializations and stuff//

   }
  }

对于B类代码

   public abstract class B extends FragmentActivity 
  {


   FragmentAdapter mAdapter;
   ViewPager mPager;
   PageIndicator mIndicator;


 }

Answer 1:

一个FragmentActivity是一个实例Activity (在Java中的风格: FragmentActivity extends Activity )。

因此,有没有点调用getActivity因为FragmentActivity已经是一个Acivity ,所以只需调用/使用this会工作。 也没有叫方法getActivityFragmentActivity类。 换句话说,你的B级延伸出的Activity实例。

所以,你的A内(或B)类,你可以使用此代码段来获取活动实例:

Activity test = (Activity) this;

但是如果你的B级扩展FragmentgetActivity呼叫会工作。



Answer 2:

FragmentActivity是替代到Activity支持包 。 因为你的class B 延伸 FragmentActivity和更高的class A延伸class B ,因此你的class A也指Activity (又名FragmentActivity )。

总之,你不需要调用任何方法。 简单地使用this关键字来引用您的活动实例。



文章来源: getActivity() with in FragmentActivity: android