Адаптер массива равен нулю после инициализации (неправильный файл макета)

#java #android #listview #nullpointerexception #android-arrayadapter

#java #Android #listview #исключение nullpointerexception #android-arrayadapter

Вопрос:

мое приложение продолжает сбой по глупой причине! Я огляделся, и пользователи с аналогичными проблемами используют фрагменты, а я использую действия. Мой код в методе on create приведен ниже.

 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
    setContentView(R.layout.activity_select_contact);

    setResult(Activity.RESULT_CANCELED);
    ArrayAdapter<String> mPairedDevicesArrayAdapter = new ArrayAdapter<>(getApplicationContext(), R.layout.device_name);

    ListView mPairedListView = findViewById(R.id.paired_devices);
    mPairedListView.setAdapter(mPairedDevicesArrayAdapter);
    mPairedListView.setOnItemClickListener(mDeviceClickListener);

    mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
    Set<BluetoothDevice> mPairedDevices = mBluetoothAdapter.getBondedDevices();

    if (mPairedDevices.size() > 0) {
        /* List of all paired devices */
        findViewById(R.id.title_paired_devices).setVisibility(View.VISIBLE);
        for (BluetoothDevice mDevice : mPairedDevices) {
            mPairedDevicesArrayAdapter.add(mDevice.getName()   "n"   mDevice.getAddress());
        }
    } else {
        /* No paired device */
        String mNoDevices = "None Paired";
   
 

Ошибка такая, как показано ниже,

 Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void
 

android.widget.ListView.setAdapter(android.widget.ListAdapter)’ для
нулевой ссылки
на объект в ca.edgarwideman.taxibuddy.ConnectPrinter.onCreate(ConnectPrinter.java:39)

и номер строки 39 (где возникает ошибка) — это,

 mPairedListView.setAdapter(mPairedDevicesArrayAdapter);
 

Я понял 😋, ответ приведен ниже…

Комментарии:

1. Это говорит о том, что ваше ListView значение равно null. Можете ли вы включить свой activity_select_contact.xml файл макета?

2. Достаточно одного мгновения

3. Черт возьми, это была моя ошибка, я загружал неправильный XML, вау, я уверен, что моя голова в песке!. В любом случае спасибо за вашу помощь! Угадайте, для чего нужны эти форумы! Приветствую!

Ответ №1:

Понял! и я почти слишком смущен, чтобы признать это …😌 Всегда убедитесь, что ваш onCreate запускает правильный файл макета!

 setContentView(R.layout.activity_select_contact);
 

должно быть

 setContentView(R.layout.activity_connect_printer);
 

Спасибо, ребята, что помогли мне!
Благодарности @ianhanniballake