getActivity() 与 FragmentActivity 中:安卓
-
12-12-2019 - |
题
我正在使用这个类 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//
}
}
B类代码
public abstract class B extends FragmentActivity
{
FragmentAdapter mAdapter;
ViewPager mPager;
PageIndicator mIndicator;
}
解决方案
A FragmentActivity
是一个实例 Activity
(Java风格: FragmentActivity extends Activity
).
所以没有必要打电话 getActivity
因为一个 FragmentActivity
已经是一个 Acivity
, ,所以只需调用/使用 this
将工作。也没有调用的方法 getActivity
在里面 FragmentActivity
班级。换句话说,你的 B 类正在扩展 Activity
实例。
因此,在 A(或 B)类中,您可以使用以下代码片段来获取活动实例:
Activity test = (Activity) this;
但如果你的B级延长 Fragment
那么 getActivity
打电话就可以了。
其他提示
FragmentActivity
是替代 Activity
在 支持包. 。自从你的 class B
延伸 FragmentActivity
然后你的 class A
延伸 class B
, ,因此你的 class A
也指的是 Activity
(又名 FragmentActivity
).
简而言之,您不需要调用任何方法。只需使用 this
关键字来引用您的活动实例。
不隶属于 StackOverflow