Android/Java.lang.NullPointerException
我是Android编程新手。当Android抛出我时,我正试图通过主活动将一个字符串从左片段发送到右片段 原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“java.lang.String android.os.Bundle.getStringjava.lang.String” 对于左边的片段,我写道:Android/Java.lang.NullPointerException,android,android-fragments,nullpointerexception,Android,Android Fragments,Nullpointerexception,我是Android编程新手。当Android抛出我时,我正试图通过主活动将一个字符串从左片段发送到右片段 原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“java.lang.String android.os.Bundle.getStringjava.lang.String” 对于左边的片段,我写道: MyAdapter listAdapter=new MyAdapter(getData(),this.getActivity() );
MyAdapter listAdapter=new MyAdapter(getData(),this.getActivity() );
lv_list.setAdapter(listAdapter);
setListViewHeightBasedOnChildren(lv_list);
lv_list.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
itemCallback.onItemSelected(parent, view, position);
}
});
多谢各位。所有建议将不胜感激
我还要添加logcat输出:
10-11 14:24:16.667:E/AndroidRuntime1268:Process:com.example.projet3,PID:1268
10-11 14:24:16.667:E/AndroidRuntime1268:java.lang.RuntimeException:无法启动活动组件信息{com.example.projet3/com.example.projet3.MainActivity}:android.view.InflateException:二进制XML文件第14行:膨胀类片段时出错
10-11 14:24:16.667:E/AndroidRuntime1268:at android.app.ActivityThread.PerformLaunchActivityYaActivityThread.java:2325
10-11 14:24:16.667:E/AndroidRuntime1268:at android.app.ActivityThread.handleLaunchActivityActivityThread.java:2390
10-11 14:24:16.667:E/AndroidRuntime1268:at android.app.ActivityThread.access$800ActivityThread.java:151
10-11 14:24:16.667:E/AndroidRuntime1268:at android.app.ActivityThread$H.handleMessageActivityThread.java:1303
10-11 14:24:16.667:E/AndroidRuntime1268:at android.os.Handler.dispatchMessageHandler.java:102
10-11 14:24:16.667:E/AndroidRuntime1268:at android.os.Looper.Looper.java:135
10-11 14:24:16.667:E/AndroidRuntime1268:at android.app.ActivityThread.mainActivityThread.java:5257
10-11 14:24:16.667:E/AndroidRuntime1268:at java.lang.reflect.Method.Invokenactive方法
10-11 14:24:16.667:E/AndroidRuntime1268:at java.lang.reflect.Method.invokeMethod.java:372
10-11 14:24:16.667:E/AndroidRuntime1268:com.android.internal.os.ZygoteInit$methodAndArgscaler.runZygoteInit.java:903
10-11 14:24:16.667:E/AndroidRuntime1268:com.android.internal.os.ZygoteInit.mainZygoteInit.java:698
10-11 14:24:16.667:E/AndroidRuntime1268:原因:android.view.InflateException:二进制XML文件第14行:膨胀类片段时出错
10-11 14:24:16.667:E/AndroidRuntime1268:at android.view.LayoutInflater.createViewFromTagLayoutInflater.java:763
10-11 14:24:16.667:E/AndroidRuntime1268:at-android.view.LayoutInflater.rInflateLayoutInflater.java:806
10-11 14:24:16.667:E/AndroidRuntime1268:at android.view.LayoutInflater.inflateLayoutInflater.java:504
10-11 14:24:16.667:E/AndroidRuntime1268:at android.view.LayoutInflater.inflateLayoutInflater.java:414
10-11 14:24:16.667:E/AndroidRuntime1268:at android.view.LayoutInflater.inflateLayoutInflater.java:365
10-11 14:24:16.667:E/AndroidRuntime1268:com.android.internal.policy.impl.PhoneWindow.setContentViewPhoneWindow.java:378
10-11 14:24:16.667:E/AndroidRuntime1268:at android.app.Activity.setContentViewActivity.java:2145
10-11 14:24:16.667:E/AndroidRuntime1268:at com.example.projet3.MainActivity.onCreateMainActivity.java:26
10-11 14:24:16.667:E/AndroidRuntime1268:at android.app.Activity.performCreateActivity.java:5990
10-11 14:24:16.667:E/AndroidRuntime1268:at android.app.Instrumentation.callActivityOnCreateInstrumentation.java:1106
10-11 14:24:16.667:E/AndroidRuntime1268:at android.app.ActivityThread.PerformLaunchActivityYaActivityThread.java:2278
10-11 14:24:16.667:E/AndroidRuntime1268:。。。10多
10-11 14:24:16.667:E/AndroidRuntime1268:原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“java.lang.String android.os.Bundle.getStringjava.lang.String”
10-11 14:24:16.667:E/AndroidRuntime1268:at com.example.projet3.Fg_right.onCreateViewFg_right.java:28
10-11 14:24:16.667:E/AndroidRuntime1268:at android.app.Fragment.performCreateViewFragment.java:2053
10-11 14:24:16.667:E/AndroidRuntime1268:at android.app.FragmentManagerImpl.moveToStateFragmentManager.java:870
10-11 14:24:16.667:E/AndroidRuntime1268:at android.app.FragmentManagerImpl.moveToStateFragmentManager.java:1045
10-11 14:24:16.667:E/AndroidRuntime1268:at android.app.FragmentManagerImpl.addFragmentFragmentManager.java:1147
10-11 14:24:16.667:E/AndroidRuntime1268:at android.app.FragmentManagerImpl.onCreateViewFragmentManager.java:2116
10-11 14:24:16.667:E/AndroidRuntime1268:at android.app.Activity.onCreateViewActivity.java:5328
10-11 14:24:16.667:E/AndroidRuntime1268:at android.view.LayoutInflater.createViewFromTagLayoutInflater.java:733
10-11 14:24:16.667:E/AndroidRuntime1268:。。。20更多logcat怎么说?哪一行是NullPointerException?您正在为fg_right片段类扩展布局fg_left。这是故意的吗?可能您正在设置tv_right的文本属性,而tv_right为空。我已打开日志。我已将布局fg_left更改为fg_right。但这没用。
public void onItemSelected(AdapterView<?> parent, View view, int position) {
MyAdapter listAdapter = (MyAdapter) parent.getAdapter();
MainItem item = (MainItem) listAdapter.getItem(position);
String title=item.getName();
/*intent = new Intent(this, Fg_right.class);
intent.putExtra("title", title);*/
fg_right=new Fg_right();
fg_right=Fg_right.newInstance(title);
this.fragmentTransaction = fragmentManager.beginTransaction();
this.fragmentTransaction.replace(R.id.fg_right, fg_right);
this.fragmentTransaction.addToBackStack(null);
this.fragmentTransaction.commit();
}
public class Fg_right extends Fragment {
String title="";
TextView tv_right;
public static Fg_right newInstance(String title){
Fg_right fg_right = new Fg_right();
Bundle b=new Bundle();
b.putString("title", title);
fg_right.setArguments(b);
return fg_right;
}
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view= inflater.inflate(R.layout.fg_left, container, false);
Bundle arguments = this.getArguments();
title=arguments.getString("title");
this.tv_right = (TextView)view.findViewById(R.id.tv_right);
tv_right.setText(title);
return view;
}