我在玩Monodroid,嘗試在啓動時將適配器設置爲列表視圖。我在屏幕上有一堆控件,我試圖做的是當按鈕被點擊時,一個項目進入列表視圖。listView SetAdaptor在應用程序啓動時導致崩潰
我沒有從調試器中得到任何錯誤,只是一個「不幸的Application1已經停止」,這使得我很難弄清楚我做錯了什麼。
這裏是我的代碼:
public class Activity1 : Activity
{
List<string> items = new List<string>();
ArrayAdapter<string> adaptor;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
int i = 0;
items.Add("Hello world");
adaptor = new ArrayAdapter<string>(this,
Resource.Id.listView1,
items);
Button button = FindViewById<Button>(Resource.Id.button1);
ListView listView = FindViewById<ListView>(Resource.Id.listView1);
listView.SetAdapter(adaptor);
button.Click += delegate
{
items.Add("Hello " + ++i);
adaptor.NotifyDataSetChanged();
};
}
}
在評論我發現下面的設備日誌:
android.content.res.Resources$NotFoundException: Resource ID #0x7f050003 type #0x12 is not valid
這是在Resource.Designer.cs
ListView控件的IDpublic const int listView1 = 2131034115;
listview聲明如下:
<ListView
p1:minWidth="25px"
p1:minHeight="25px"
p1:layout_width="wrap_content"
p1:layout_height="fill_parent"
p1:id="@+id/listView1"
p1:layout_marginBottom="70dp" />
作爲一個調試參考:LogCat會告訴你在你的應用程序的哪一行代碼導致崩潰和故障的原因..就像一個空指針..索引超出範圍..等等,這是在在eclipse中的DDMS標籤 – dymmeh
@dophi謝謝我不知道它,發現它在VS.更接近問題的原因。 – Sam