listView适配器强制关闭

时间:2016-12-06 18:27:08

标签: android listview

我不知道为什么,但在设置适配器时出现错误。

ERROR:

  

java.lang.NullPointerException:尝试调用虚方法' void   android.widget.ListView.setAdapter(android.widget.ListAdapter)'在...上   null对象引用

即使在正确引用之后,它也会抛出null异常。

谁能告诉我哪里出错了。

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

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

        ListView lView = (ListView) findViewById(R.id.lView);

        ArrayList<String> item = new ArrayList<>();

        for( int i = 0 ; i < 10 ; i++ ){
            item.add("Item"+i);
        }

        ArrayAdapter<String> madapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,item);

        lView.setAdapter(madapter);

    }
}

3 个答案:

答案 0 :(得分:0)

这种情况主要发生在布局不包含您按指定ID引用的视图的情况下,检查&amp;更改activity_main并将Listview ID更改为lView

答案 1 :(得分:0)

此问题是由于Android系统无法在 activity_main.xml 中找到用于MainActivity的 lView

请检查其他activity_main.xml文件布局,大布局,xlarge-layout文件夹,并在该文件中添加该ListView(如果不存在)。

Android系统将根据设备选择布局,然后代码中使用的UI组件应该出现在该布局中。

答案 2 :(得分:0)

  • activity_main 的布局上没有View ID。 OR
  • android.R.layout.simple_list_item_1字段与ArrayAdapter<String> madapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,item);
  • 中的其他项重新对齐