Android 如何在listview中获取按钮的Id?
在我的应用程序中,我使用了一个列表活动,其中我传递了一个ArrayAdapter,getView()方法如下Android 如何在listview中获取按钮的Id?,android,button,onclick,android-listview,Android,Button,Onclick,Android Listview,在我的应用程序中,我使用了一个列表活动,其中我传递了一个ArrayAdapter,getView()方法如下 @Override public View getView(final int position, View convertView, ViewGroup parent) { mPosition= position; LayoutInflater inflater = context.getLayoutInflater(); View rowView = infl
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
mPosition= position;
LayoutInflater inflater = context.getLayoutInflater();
View rowView = inflater.inflate(R.layout.imagelistlayout, null, true);
deleteButton= (Button)rowView.findViewById(R.id.delete_bn);
deleteButton.setTag(position);
TextView textView = (TextView) rowView.findViewById(R.id.label);
textView.setText(names[position]);
return rowView;
}
现在我想在deleteButton上设置onclicklistener()。单击相应的删除按钮时,将删除该项目。请帮助我。您应该将
OnClickListener
直接添加到getView()中的按钮中
我最近在应用程序中使用了一段代码
((Button) l.findViewById(R.id.btn_rm)).setOnClickListener(new OnClickListener(){
public void onClick(View v) {
list_of_elements.remove(position);
My_Custom_List_Adapter.this.notifyDataSetChanged();
}
});
请注意,这是在expandablelistadapter中开发的,因此它可能与常规listadapter略有不同
2.在使用ListView的活动中实现它
delete(int position)
{
adapter.remove(position) // modify the syntax as per need .
}
3.通过构造函数将此接口传递给适配器
4.在getView中为deletebutton编写onClickListener,并调用iinterface.delete(position)
您可以使用视图可用的setTag方法。在deletebutton setTag和onClicklistener上设置id/位置您可以通过查看获取id/位置。getTag()检查此链接:谢谢Herry,这对我很有用。谢谢Paresh Mayani此链接非常有用。
delete(int position)
{
adapter.remove(position) // modify the syntax as per need .
}
...
deleteButton.setOnClickListener( new OnClickListener() {
public void onClick( View v ) {
//Handle deleting the item here.
// or item enable -> false
v.getParent()
}
});
...