2016-09-20 73 views
0

我有一个父母活动是'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是问题;欢迎提出建议!谢谢。

+0

请发布错误?此外,你为什么用构造函数实例化活动?另外,还应该有其他方法来获取数据,而不是创建活动的新实例,然后从未附加到它的片段获取其数据。随着应用程序的增长,这可能会导致稍后致命的错误。 –

回答

2

两个可能的定义:

所以创建一个Activityconstructor传递getAcivity()那里得到上下文。

谢谢。

+0

谢谢你的建议帮助!上下文= getActivity()getApplicationContext();我在OnCreateView()中编写了这个语句,它工作正常! – sam88

相关问题