Resource.Id не содержит определения для списка - PullRequest
0 голосов
/ 10 сентября 2018

Я новичок в Xamarin / Android. Я занимаюсь разработкой приложения Xamarin для Android, и у меня есть файл .axml ниже.

<?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"
    android:minWidth="25px"
    android:minHeight="25px">

  <ListView
       android:minWidth="25px"
       android:minHeight="25px"
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:id="@android:id/list" >    
  </ListView>
</LinearLayout>

В классе Activity, который я пишу, я пытаюсь получить ссылку на этот ListView, используя следующий код:

FindViewById<ListView>(Resource.Id.list);

Visual Studio вызывает ошибку компиляции «Resource.Id не содержит определения для списка». Однако, если я использую

андроида: ID = "@ + идентификатор / список"

в качестве идентификатора ListView ошибка компиляции исчезает, но я получаю еще одну ошибку "Ваш контент должен иметь ListView с атрибутом id 'android.R.id.list'" at SetContentView вызов в OnCreate класса Activity.

1 Ответ

0 голосов
/ 10 сентября 2018

Resource.Id не содержит определения для списка

Вам необходимо определить его в файле .axml, как вы писали раньше:

android:id="@+id/list"

Ваше содержимое должно иметь ListView с атрибутом id 'android.R.id.list' "при вызове SetContentView в OnCreate класса Activity.

Не могли бы вы проверить, использовали ли вы SetContentView в вашем Activity?

public class MainActivity : AppCompatActivity
{

    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        SetContentView(Resource.Layout.activity_main);

        var listView = FindViewById<ListView>(Resource.Id.list);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...