2016-12-06 3 views
-1

Я не знаю, почему, но я получаю сообщение об ошибке при настройке адаптера.listView force force close

ОШИБКА:

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-файл. Затем пройдите и посмотрите, что такое null – codeMagic

ответ

0

В основном, это происходит в тех случаях, когда макет не содержит представление, которое вы имеете в виду по указанным идентификатором, проверьте & изменения activity_main и изменить ListView идентификатор lView

0

Эта проблема связана с системой Android неспособный найти lView в activity_main.xml, который используется для MainActivity.

Пожалуйста, проверьте другие макеты layout_main.xml файлов, большие макеты, xlarge-layout и добавьте этот ListView в эти файлы, если его там нет.

Макет будет выбран системой Android на основе устройства. Затем компоненты интерфейса, которые используются в коде, должны присутствовать в этом макете.

0
  • по макету Активность_main не имеет идентификатора вида. ИЛИ
  • replice поле android.R.layout.simple_list_item_1 с другими элементами в соответствии ArrayAdapter<String> madapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,item);