我有一个片段'X',其父活动是'A'。
我有另一个活动'B',它包含一个方法'getData()';此活动还有自己的参数化构造函数,其中Context的对象将传递给此构造函数。
活动B: -
public class B
{
Context _context;
String val="XYZ";
public B(Context context)
{
this._context = context;
//Rest of the code
}
public String getData()
{
return val;
}
}
我的程序要求我在片段'X'中调用活动'B'的getData()方法
片段X: -
public class X extends Fragment implements
{
String name;
Context context=getActivity().getApplicationContext();
B obj1=new B(context);
//i have passed Context object from fragment X to Activity B
ButtonClickEvent(..)
{
name=obj1.getData();
//Rest of the code
}
}
启动Fragment X时出现问题;这个错误与Context对象有关,我不明白这个问题究竟是什么;欢迎提出建议!感谢。
答案 0 :(得分:2)
两种可能的定义:
getActivity()
会返回Activity
当前与之关联的Fragment
。 (见http://developer.android.com/reference/android/app/Fragment.html#getActivity())。getActivity()
是用户定义的。因此,在constructor
中创建Activity
并在其中传递getAcivity()
以获取上下文。
感谢。