使用Bundle赋予空指针异常将数据从活动发送到片段

时间:2016-05-07 06:18:34

标签: java android android-fragments bundle

情景是:

我有一个MainActivity(MainActivity.java),其中有寻呼机制作片段(MyFragment.java)。

我还有一个名为Main2Activity(Main2activity.java)的活动。

我想将数据从Main2Activity发送到MyFragment。

Main2Activity.java:

  public class Main2Activity extends AppCompatActivity{

  private String myString = "hello";

  @Override
   protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main2);

            Bundle bundle = new Bundle();
            bundle.putString("path1", "Hey Brother");

            MyFragment frgmentObj = new MyFragment ();
            frgmentObj.setArguments(bundle);

   }

MyFragment.java:

   public class MyFragment extends android.support.v4.app.Fragment{

  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

String brother = getArguments().getString("path1");   // Here showing NPE
  return view;
}
}

但是它给了我Null指针异常

     java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.os.Bundle.getString(java.lang.String)' on a null object reference

请帮帮我 包装是一样的 谢谢

1 个答案:

答案 0 :(得分:0)

试试这种方式。

Bundle bundle = this.getArguments();
String brother = bundle.getString("path1");

希望这会有所帮助。