Столкнувшись с проблемой в findView (Android Studio) - PullRequest
0 голосов
/ 18 мая 2019

Я новичок в Android Studio и работаю над проектом. Я сталкиваюсь с этой ошибкой

enter image description here

Я объявил просмотр списка, но не знаю, почему он не работает. КОД:

package com.example.animation;

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

public class view_rooms extends AppCompatActivity {
    ListView listView;
    String mTitle[]={"Room1","Room2","Room3","Room4","Room5"};
    String mDescription[]={"Access Room1","Access Room2","Access Room3","Access Room4","Access Room5"};
    int images[]={R.drawable.lights_open,R.drawable.lights_open,R.drawable.lights_open,R.drawable.lights_open,R.drawable.lights_open};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_view_rooms);
        listView=findViewById(R.id.ListView);

    }

Ответы [ 2 ]

2 голосов
/ 18 мая 2019

findViewById() ищет представление по идентификатору в файле макета. В этом случае в макет: R.layout.activity_view_rooms. Вам необходимо определить в этом макете один виджет ListView и назначить один идентификатор для поиска с помощью findViewById ().

Например, в макет activity_view_rooms необходимо включить представление:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent">

    <ListView
            android:id="@+id/list_view_id"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

    </ListView>
</LinearLayout>

И позже вы можете получить экземпляр view с помощью finViewById () следующим образом:

package com.example.animation;

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

public class view_rooms extends AppCompatActivity {
    ListView listView;
    String mTitle[]={"Room1","Room2","Room3","Room4","Room5"};
    String mDescription[]={"Access Room1","Access Room2","Access Room3","Access Room4","Access Room5"};
    int images[]={R.drawable.lights_open,R.drawable.lights_open,R.drawable.lights_open,R.drawable.lights_open,R.drawable.lights_open};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_view_rooms);
        listView=findViewById(R.id.list_view_id);

    }
0 голосов
/ 19 мая 2019

Вам необходимо добавить эту строку android:id="@+id/ListView" в ваш activity_view_rooms.xml

Таким образом, код будет выглядеть так:

<ListView
            android:id="@+id/ListView"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...