【发布时间】:2015-10-08 09:00:54
【问题描述】:
所以我有这个代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.favourites);
assert getSupportActionBar() != null;
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
SharedPreferences prefs = getSharedPreferences("myFavs", 0);
Map<String, String> m = (Map<String, String>) prefs.getAll();
List<String> list = new ArrayList<>(m.values());
ListView listView = (ListView) findViewById(R.id.favsList);
ArrayAdapter<String> adapter = new ArrayAdapter<>(this,R.layout.listlayout, android.R.id.text1, list );
listView.setAdapter(adapter);
它会在 logcat 中输出这个错误:
10-08 08:48:44.114 19390-19390/com.example.me1jmo.insult_generator E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.example.me1jmo.insult_generator, PID: 19390
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:399)
at android.widget.ArrayAdapter.getView(ArrayAdapter.java:369)
at android.widget.AbsListView.obtainView(AbsListView.java:2346)
at android.widget.ListView.measureHeightOfChildren(ListView.java:1280)
at android.widget.ListView.onMeasure(ListView.java:1188)
at android.view.View.measure(View.java:18788)
...
我已阅读有关为什么会发生这种情况的文章,但我无法弄清楚我需要更改哪些代码才能使其正常工作。
【问题讨论】:
-
你能发布“listlayout”代码吗?在 listlayout 中使用 textview 而不是标准的 android.R.id.text1
-
你能分享你的列表布局吗
标签: java android arraylist nullpointerexception