0
我有一個列表視圖,當ListView上的一個按鈕被點擊時,它應該改變ListView外部的TextView的文本。當ListView中的按鈕點擊時,改變ListView外部的TextView文本
我想:
初始化ViewHolder
內TextView的並具有主類的功能,這將是打電話的時候在ListView按鈕是點擊。
無論採用哪種方法,我都會在按鈕上獲得空引用。
public class ItemOrderActivity : BaseActivity <ItemOrderViewModel>
{
TextView estimatedTotal;
Button continueButton;
ListView itemList;
int count = 0;
static public int[] itemCount = new int[8] { 0, 0, 0, 0, 0, 0, 0, 0 };
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
// Setting layout
SetContentView (Resource.Layout.ItemOrderLayout);
estimatedTotal = FindViewById<TextView> (Resource.Id.estimatedTotal);
// Initializing button view items
continueButton = FindViewById<Button> (Resource.Id.continueButton);
garmentList = FindViewById<ListView> (Resource.Id.itetListView);
ItemListAdapter adapter = new ItemListAdapter(this, getItems());
itemList.Adapter = adapter;
// Button event for OnContinue
continueButton.Click += OnContinue;
}
void total()
{
estimatedTotal.Text = "tet";
}
private class ItemListAdapter : BaseAdapter<Item>
{
private Activity activity;
public List<Item> data;
public ItemListAdapter(Activity activity, List<Item> data)
{
this.activity = activity;
this.data = data;
}
public override Item this[int position]
{
get { return this.data [position]; }
}
public override int Count
{
get { return this.data.Count(); }
}
public override long GetItemId(int position)
{
return 0;
}
public override View GetView(int position, View convertView, ViewGroup parent)
{
Holder holder;
holder = new Holder();
if (convertView == null)
{
convertView = this.activity.LayoutInflater.Inflate (Resource.Layout.ItemLayout, null);
//holder = new Holder();
holder.Initialize (convertView);
convertView.Tag = holder;
}
//convertView.Tag = holder;
Item item = this.data [position];
holder = (Holder)convertView.Tag;
holder.Bind (this.activity, item.itemName, position);
return convertView;
}
public class Holder : Java.Lang.Object
{
public TextView ItemName;
public Button removeItem;
public Button addItem;
public TextView itemQty;
public int pos;
//TextView estimatedTotal;
public void Initialize(View view)
{
itemName = view.FindViewById<TextView> (Resource.Id.itemTextView);
itemGarment = view.FindViewById<Button> (Resource.Id.removeItemButton);
itemGarment = view.FindViewById<Button> (Resource.Id.addItemButton);
itemQty = view.FindViewById<TextView> (Resource.Id.ItemQtyTextView);
//estimatedTotal = view.FindViewById<TextView> (Resource.Id.estimatedTotal);
addItem.Click += addItemClick;
removeItem.Click += removeItemClick;
}
public void Bind(Activity context, string gn, int position)
{
garmentName.Text = gn;
garmentQty.Text = ItemOrderActivity.ItemCount[position].ToString();
pos = position;
}
public void addButtonClick(object sender, EventArgs e)
{
poa.addItem (pos);
ItemOrderActivity.itemCount [pos]++;
itemQty.Text = ItemOrderActivity.itemCount [pos].ToString();
//estimatedTotal.Text = "test";
poa.total();
}
}
}
使得按鈕靜做了工作 – PLOW