NullPointerException:尝试调用虚拟方法';void android.widget.TextView.setText(java.lang.CharSequence)和#x27;关于空对象引用

NullPointerException:尝试调用虚拟方法';void android.widget.TextView.setText(java.lang.CharSequence)和#x27;关于空对象引用,java,android,arraylist,nullpointerexception,Java,Android,Arraylist,Nullpointerexception,所以我有这个代码: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.favourites); assert getSupportActionBar() != null; getSupportActionBar().setDisplayHomeAsUpEnabled(true)

所以我有这个代码:

@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);

我已经阅读了关于为什么会发生这种情况的文章,但我不知道我需要更改哪些代码才能使其正常工作。

尝试将
android.R.id.text1
更改为
R.id.text1
。另外,请检查您的
列表布局是否有id为
text1的文本视图
尝试将
android.R.id.text1
更改为
R.id.text1
。另外,请检查您的
列表布局
是否有id为
text1
的文本视图。问题的出现是因为您引用的文本视图不在指定的布局中

android.R.id.text1 
是内置在操作系统中的Android操作系统类的文本视图

您需要使用在中指定的Textview的id

R.layout.listlayout

更改该选项,您的错误将得到解决。

问题的出现是因为您引用的文本视图不在指定的布局中

android.R.id.text1 
是内置在操作系统中的Android操作系统类的文本视图

您需要使用在中指定的Textview的id

R.layout.listlayout

更改此选项,您的错误将得到解决。

替换此选项

ArrayAdapter<String> adapter = new ArrayAdapter<>(this,R.layout.listlayout, android.R.id.text1, list ); 
ArrayAdapter=新的ArrayAdapter(这个,R.layout.listlayout,android.R.id.text1,列表);
用这个

ArrayAdapter<String> adapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_1, android.R.id.text1, list );
ArrayAdapter=new ArrayAdapter(这是android.R.layout.simple_list_item_1,android.R.id.text1,list);

替换此

ArrayAdapter<String> adapter = new ArrayAdapter<>(this,R.layout.listlayout, android.R.id.text1, list ); 
ArrayAdapter=新的ArrayAdapter(这个,R.layout.listlayout,android.R.id.text1,列表);
用这个

ArrayAdapter<String> adapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_1, android.R.id.text1, list );
ArrayAdapter=new ArrayAdapter(这是android.R.layout.simple_list_item_1,android.R.id.text1,list);

您可以发布“listlayout”代码吗。在listlayout中使用textview而不是标准的android.R.id.text1您可以共享您的listlayout您可以发布“listlayout”代码吗。在listlayout中使用textview而不是标准的android.R.id.Text1您可以共享您的listlayout吗