Мой код работает исправно, но я беспокоюсь о предупреждении, которое дает студия Android при проверке кода в строке рядом с комментарием (// следующая строка) в следующем коде операции. В нем говорится, что он может вызывать исключение нулевого указателя. Я не могу понять причину этого. Я просмотрел некоторые другие ответы, связанные с тем же вопросом, но не смог найти точную причину. Вот снимок сообщения от android studio.NullPointerException в методе setAdapter в ListView
package com.example.kedee.mistu.services;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import com.example.kedee.mistu.R;
public class Test extends AppCompatActivity {
private String[] catNames= {"A","E","T","E","S","F","M","P","S","E","C","H","M","Others"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
ListView listView=(ListView)findViewById(R.id.test_listView);
//next line
listView.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,catNames));
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
}
}
Компоновка Код
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.kedee.mistu.services.Test">
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/test_listView"
android:dividerHeight="2dp"
>
</ListView>
</RelativeLayout>
Да, попробовал, но все равно получал одно и то же сообщение ..:/ –
Yup, это сработало :), но как мог list view когда-либо быть нулевым? –
Если пользователь не определяет, это вообще происходит с новым разработчиком! –