猿问

activity向fragment传值时bundlle的getString方法有空指针异常;

bundle对象可以传过来但是getString方法有空指针异常

activity代码如下:

FreList fl=new FreList();//FreList继承了fragment
 Bundle bundle=new Bundle();
 bundle.putString("a","ak47");
 fl.setArguments(bundle);
 manager=getFragmentManager();
 transaction=manager.beginTransaction();
 transaction.replace(R.id.content_layout,fl);
 transaction.commit();

fragment代码如下:

Bundle bundle=getArguments();//1
if(bundle!=null){//2
    System.out.println("哼!bundle传过来了");//3
}//4
String str=bundle.get("a").toString();//5

如果将fragment中第五行注释掉就会打印“哼!bundle传过来了”,如果不把第五行注释掉就会报错:java.lang.RuntimeException: Unable to start activity ComponentInfo{com.bignerdranch.android.myqq/com.bignerdranch.android.myqq.jieMianActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object android.os.Bundle.get(java.lang.String)' on a null object reference以及  Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object android.os.Bundle.get(java.lang.String)' on a null object reference

恳请各路大神拯救一下我这个萌新!!

蜡笔小新的Qe
浏览 1312回答 1
1回答

萨达哈鲁

你的if(bundle!=null){//2     System.out.println("哼!bundle传过来了");//3 }//4这个if既然判断bundle是不是空,那就应该把使用bundle的地方放到里面呀if(bundle!=null){//2     System.out.println("哼!bundle传过来了");//3     String str=bundle.get("a").toString();//5 }//4
随时随地看视频慕课网APP

相关分类

Android
我要回答