2016-12-06 66 views
-1

我不知道为什么,但设置适配器时出现错误。listView适配器强制关闭

错误:

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setAdapter(android.widget.ListAdapter)' on a null object reference

即使引用正确后抛出空例外。

任何人都可以告诉我哪里出错了。

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

    } 
} 
+2

其他项目看起来像'lView'为空。确保它在'activity_main.xml' – codeMagic

+0

是啊..在activity_main.xml中存在 –

+0

你可能会想要发布完整的堆栈跟踪和可能的XML文件。然后通过并看看什么是空 – codeMagic

回答

0

这在布局不包含要由指定ID闯民宅认为案件大多发生,检查&变化activity_main并更改列表视图id来lView

0

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

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

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

0
  • 布局activity_main has no查看ID。 或
  • replice场android.R.layout.simple_list_item_1与线ArrayAdapter<String> madapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,item);