Android ListView中的SetOnClickListener
早上好,我实现了一个Android ListView中的SetOnClickListener,android,.net,xamarin.android,Android,.net,Xamarin.android,早上好,我实现了一个listView,其中隐藏了一些信息,还有一个按钮,但是我在使用MonoDroid时遇到了按钮单击事件的问题,我实现了接口OnClickListener(),我的问题是如果我设置了button.setOnclickListener(new MyClassClick())在列表视图适配器内,每次滚动列表视图时,它都会创建一个对象,并且不能重用以前创建的对象,可以检查按钮是否已经有一个与该对象链接的操作?键入一个GetOnclickListener()? 公共覆盖视图GetVi
listView
,其中隐藏了一些信息,还有一个按钮,但是我在使用MonoDroid时遇到了按钮单击事件的问题,我实现了接口OnClickListener()
,我的问题是如果我设置了button.setOnclickListener(new MyClassClick())
在列表视图
适配器内,每次滚动列表视图
时,它都会创建一个对象,并且不能重用以前创建的对象,可以检查按钮是否已经有一个与该对象链接的操作?键入一个GetOnclickListener()
?
公共覆盖视图GetView(int位置、视图转换视图、视图组父视图){
var项目=产品[位置];
ViewHolderProdutos viewHolder;
var-view=convertView;
如果(视图==null)
{
视图=context.LayoutInflater.Inflate(Resource.Layout.ProdutoListItem,父项,false);
viewHolder=新的viewHolder();
视图持有者。Inicializa(视图);
view.Tag=viewHolder;
}
ProductsBase prod=(ProductsBase)productList[位置];
viewHolder=(viewHolder)view.Tag;
viewHolder.Bind(prod);
var btnIncluir=view.findviewbyd(Resource.Id.btnIncluir);
//事件单击do Botão Incluir
btnIncluir.SetOnClickListener(新的OnClickButton(productList[position].pro_codigo.ToString(),parent.Context));
返回视图;
}
抱歉,如果文本混淆,我的英语不好在您的
适配器sGetView
方法中,您只需在convertView
为null
时设置OnClickListener
public override View GetView(int position, View convertView, ViewGroup parent)
{
var view = convertView;
if (null == view)
{
//1. inflate or create your views here
//2. Set OnClickListeners
}
//populate views with Adapter item data
}
我不确定我是否理解您的问题,但您可以保留对新类Click的引用,如果它已初始化,则无需执行任何操作。您可以发布一些示例代码吗?我不清楚您的问题来自于描述。
public override View GetView(int position, View convertView, ViewGroup parent)
{
var view = convertView;
if (null == view)
{
//1. inflate or create your views here
//2. Set OnClickListeners
}
//populate views with Adapter item data
}