Android studio - 如何将片段中的上下文值传递给另一个活动?

时间:2016-09-20 14:00:05

标签: android-studio android-fragments android-context

我有一个片段'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对象有关,我不明白这个问题究竟是什么;欢迎提出建议!感谢。

1 个答案:

答案 0 :(得分:2)

两种可能的定义:

因此,在constructor中创建Activity并在其中传递getAcivity()以获取上下文。

感谢。