Resource.Id不包含list的定义

问题描述 投票:0回答:1

我是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 = “@ + ID /列表”

作为ListView的Id,编译错误消失,但我在Activity类的OnCreate中的SetContentView调用中得到另一个错误“你的内容必须有一个ListView,其id属性是'android.R.id.list'”。

android xamarin xamarin.forms xamarin.android
1个回答
0
投票

Resource.Id不包含list的定义

您需要在之前编写的.axml文件中定义它:

android:id="@+id/list"

您的内容必须在Activity类的OnCreate中的SetContentView调用中具有其属性为“android.R.id.list”的ListView。

你能否检查一下你是否在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);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.