在FragmentActivity中使用getActivity():android

Shi*_*hah 2 android android-activity android-fragmentactivity

我正在使用这个扩展另一个抽象类的类A(这个抽象类扩展了FragmentActivity)和我在A类中的一个函数中我希望得到当前活动A的getActivity().但每当我使用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//

   }
  }
Run Code Online (Sandbox Code Playgroud)

B类代码

   public abstract class B extends FragmentActivity 
  {


   FragmentAdapter mAdapter;
   ViewPager mPager;
   PageIndicator mIndicator;


 }
Run Code Online (Sandbox Code Playgroud)

Rol*_*f ツ 16

A FragmentActivityActivity(Java风格:) 的实例FragmentActivity extends Activity.

所以没有必要调用getActivity因为a FragmentActivity已经是一个Acivity,所以只需调用/使用即可this.也没有叫方法getActivityFragmentActivity类.换句话说,你的B类正在扩展一个Activity实例.

因此,在您的A(或B)类中,您可以使用此代码段来获取活动实例:

Activity test = (Activity) this;
Run Code Online (Sandbox Code Playgroud)

但是,如果你的B类延伸,Fragment那么getActivity呼叫就可以了.


waq*_*lam 5

FragmentActivity为替代,以Activity支持包.由于你的class B 延伸 FragmentActivity和后来的class A扩展class B,因此你class A也指Activity(又名FragmentActivity).

简而言之,您不需要调用任何方法.只需使用this关键字来引用您的活动实例.