Android studio - 如何将片段的上下文值传递给另一个活动?
问题描述:
我有一个父母活动是'A'的片段'X'。Android studio - 如何将片段的上下文值传递给另一个活动?
我有另一个活动“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;
}
}
我的程序需要我打电话的getData()在片段 'X'
片段X活动 'B' 的方法,包括: -
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
}
}
这个问题在启动片段X时出现;该错误与Context对象有关,我不明白什么是exatcly是问题;欢迎提出建议!谢谢。
答
两个可能的定义:
-
getActivity()
在片段返回Activity
的Fragment
当前关联。 (见http://developer.android.com/reference/android/app/Fragment.html#getActivity())。 -
getActivity()
是用户自定义的。
所以创建一个Activity
和constructor
传递getAcivity()
那里得到上下文。
谢谢。
+0
谢谢你的建议帮助!上下文= getActivity()getApplicationContext();我在OnCreateView()中编写了这个语句,它工作正常! – sam88
请发布错误?此外,你为什么用构造函数实例化活动?另外,还应该有其他方法来获取数据,而不是创建活动的新实例,然后从未附加到它的片段获取其数据。随着应用程序的增长,这可能会导致稍后致命的错误。 –