【发布时间】:2016-12-06 15:43:40
【问题描述】:
我正在 android (xamarin) 中创建自定义列表视图。我有行设计、适配器和活动。 一切运行良好。 现在在行设计中我有一个图像按钮。 如果我需要它来打开一个新的活动,在哪里以及如何实现这个 Imagebutton 的点击事件。 请注意,行点击事件运行良好,它正在做它应该做的事情。 我尝试在适配器获取视图中实现 Imagebutton 单击,但问题是它多次输入此代码是不正确的。
这是我的适配器代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
namespace SocrateMobile.Droid.Adapter
{
class PulledItemList_Adapter : BaseAdapter<oneimg_twolbl>
{
private Activity context;
private List<oneimg_twolbl> AllItemList;
public PulledItemList_Adapter(Activity context, List<oneimg_twolbl> AllItemList)
{
this.AllItemList = AllItemList;
this.context = context;
}
public oneimg_twolbl GetItem_bypos(int position)
{
return AllItemList[position];
}
public override oneimg_twolbl this[int position]
{
get { return AllItemList[position]; }
}
public override int Count
{
get { return AllItemList.Count; }
}
public override long GetItemId(int position)
{
return position;
}
public override View GetView(int position, View convertView, ViewGroup parent)
{
Holder_oneimg_twolbl holder = null;
var view = convertView;
if (view != null)
holder = view.Tag as Holder_oneimg_twolbl;
if (holder == null)
{
holder = new Holder_oneimg_twolbl();
view = context.LayoutInflater.Inflate(Resource.Layout.oneimg_twolbl, null);
holder.Text = view.FindViewById<TextView>(Resource.Id.text_list4_view);
holder.Text2 = view.FindViewById<TextView>(Resource.Id.text_list4_view2);
holder.Image = view.FindViewById<ImageButton>(Resource.Id.image_list4_view);
view.Tag = holder;
}
var current_item = AllItemList[position];
holder.Text.Text = current_item.FirstTxt;
holder.Text2.Text = current_item.SecondTxt;
holder.Image.SetImageResource(current_item.FirstImg);
holder.Image.Click += (sender, e) =>
{
int x = position;
};
return view;
}
public class Holder_oneimg_twolbl : Java.Lang.Object
{
public TextView Text { get; set; }
public TextView Text2 { get; set; }
public ImageButton Image { get; set; }
}
}
}
【问题讨论】: