我是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'”。
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);
}
}