0
这个错误并没有出现,直到我说Xamarin System.InvalidCastException:无法转换类型“Android.Widget.EditText”的情况下键入“Android.Widget.Button”
private void ExList_ItemClick(object sender, AdapterView.ItemClickEventArgs e)
{
ExList.RemoveViewAt(e.Position);
Openers.Remove(e.Position.ToString());
adapter.NotifyDataSetChanged();
}
完整的代码只是从Itext textview获取输入文本并将其添加到打开ExList Listview的Openers。该适配器是一个简单的。 Itext.text =“”;突出与调试器,所以我认为它停在那条线。 继承人的代码。
public class MainActivity : Activity
{
public List<string> Openers = new List<string>();
Button AButton;
TextView Itext;
ListView ExList;
Button SettingsB;
ArrayAdapter adapter;
public OpenersView adap;//Custom adapter class
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
SettingsB = FindViewById<Button>(Resource.Id.SettingsB);
AButton = FindViewById<Button>(Resource.Id.AddB);
Itext = FindViewById<TextView>(Resource.Id.Itext);
ExList = FindViewById<ListView>(Resource.Id.ExList);
//adap = new OpenersView(this, Openers); //Custom adapter
adapter = new ArrayAdapter(this,Android.Resource.Layout.SimpleListItem1, Openers);//Simple adapter
ExList.Adapter = adapter;
AButton.Click += (object sender, EventArgs e) =>
{
if (Itext.Text.Length > 8) { Openers.Add(Itext.Text); }
adap.NotifyDataSetChanged();
Itext.Text = "";
//I declare the listview here so it will update every click of the button.
};
ExList.ItemClick += ExList_ItemClick;
}
private void ExList_ItemClick(object sender, AdapterView.ItemClickEventArgs e)
{
ExList.RemoveViewAt(e.Position);
Openers.Remove(e.Position.ToString());
adapter.NotifyDataSetChanged();
}
}
}
其EDITTEXT改变你可以发表你的'Main.axml'文件? – Ironman
是的。这个问题似乎出现在你的设计师身上。你可能有一个编辑文本,并在你的主代码中试图将它转换为一个按钮。 – Ogbe