嗨,我仍然是Xamarin Android:(的初学者我用一个按钮点击制作列表视图,当我点击按钮时,我将计算点击并显示在按钮中,但我也无法处理点击
这是我的适配器 GetView 代码:
public override View GetView(int position, View convertView, ViewGroup parent)
{
var item = items[position];
View view = convertView;
if (view == null) // no view to re-use, create new
view = context.LayoutInflater.Inflate(Resource.Layout.list_ticket_view, null);
view.FindViewById<TextView>(Resource.Id.maintxt).Text = item.maintitle;
view.FindViewById<TextView>(Resource.Id.txtthwab).Text = item.thwab;
var button1 = view.FindViewById<Button>(Resource.Id.button1);
button1.Text = (item.counter).ToString();
}
我使按钮 1 采取起始值表单 item.counter 并开始计数即 item.counter = 10 来自类点击时将 11,12,13,..等最好的问候
你可以试试这个:
class YourAdapter : BaseAdapter, View.IOnClickListener
{
private Dictionary<int, string> dictionary = new Dictionary<int, string>();
int[] item; //this is the data in my code ,you should replace your own data
public YourAdapter(int[] value) // the parameter use your own data
{
//copy your data into the dictionary
item = value;
for (int i = 0; i < item.Length; i++)
{
dictionary.Add(i,item[i].ToString());
}
}
public override View GetView(int position, View convertView, ViewGroup parent)
{
var item = items[position];
View view = convertView;
if (view == null) // no view to re-use, create new
view = context.LayoutInflater.Inflate(Resource.Layout.list_ticket_view, null);
view.FindViewById<TextView>(Resource.Id.maintxt).Text = item.maintitle;
view.FindViewById<TextView>(Resource.Id.txtthwab).Text = item.thwab;
var button1 = view.FindViewById<Button>(Resource.Id.button1);
button1.Text = dictionary[position];
button1.Tag = position;
button1.SetOnClickListener(this);
return convertView;
}
}
public void OnClick(View v)
{
var button = v as Button;
int count = int.Parse(button.Text) + 1;
button.Text = count.ToString();
dictionary[(int) v.Tag] = count.ToString();
}
让您的adapter
实施View.IOnClickListener
例如:
class MyAdapter : BaseAdapter ,View.IOnClickListener