我是新来的android,并试图开发一个新的android应用程序。但我正在努力解决我项目中的一个问题。在Listview的每一行中处理按钮事件问题
我使用的是从baseadapter
扩展的列表视图,需要在列表视图的每一行中添加一个按钮。当我在列表视图的任何一行点击button
时,我希望它被删除。但是当我这样做时,其他一些按钮也会在列表视图中被删除。
我该如何解决这个问题?谢谢..
我是新来的android,并试图开发一个新的android应用程序。但我正在努力解决我项目中的一个问题。在Listview的每一行中处理按钮事件问题
我使用的是从baseadapter
扩展的列表视图,需要在列表视图的每一行中添加一个按钮。当我在列表视图的任何一行点击button
时,我希望它被删除。但是当我这样做时,其他一些按钮也会在列表视图中被删除。
我该如何解决这个问题?谢谢..
你有一个适配器,活动和某种数据源的
在您的适配器中,您将一些数据附加到按钮能够一一区别:
public class ExpAdapter extends ListAdapter {
@Override
public View getView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
/* SOME CODE HERE*/
convertViewButton.setTag(buttonId);
return convertView;
}
/* SOME CODE HERE*/
}
在您的活动您标记按钮ID作为一个被隐藏:
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
storageOfHiddenButtonsIds.add((Long)arg1.getTag());
}};
,然后像这样ListAdapter变化:
@Override
public View getView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
/* SOME CODE HERE*/
convertViewButton.setTag(buttonId);
if(storageOfHiddenButtonsIds.contains(buttonId))
{
convertViewButton.setVisiblity(View.GONE);
}
return convertView;
}
当你想让你的adatper改变你的时候,别忘了打电话
this.expAdapterAllTaks.notifyDataSetChanged();
对不起,我的代码中有任何错误,但我只是想给你一个想法。
我面临同样类型的问题。如果您在每个listView项目中添加像按钮一样的项目,ListView的setOnItemClickListener
不起作用。解决方法是在列表项目布局(你在自定义适配器文件中使用)使用onClick
作为
<ImageButton
android:id="@+id/my_delete"
android:onClick="onDeleteButtonClickListener"
... and so on />
其中onDeleteButtonClickListener是在设置列表视图中的适配器活性的方法。
public void onDeleteButtonClickListener(View v) {
// your code
}
这里的listItem意味着ListView的各行项目
有用的链接:Button in ListView item
但它接缝我listview的每一行中的所有按钮都有相同的ID。因为当我尝试获得v.getId()时,它会向我返回相同的答案。我真的不知道我将如何处理这件事。你能否更清楚你的解决方案? – Emilla 2012-07-06 14:08:52
试试这个:http://androidforbeginners.blogspot.in/2010/03/clicking-buttons-in-listview-row.html或者你可以在互联网上搜索该类型的主题...它可能会帮助你。 **我通过这个链接解决了** :) – 2012-07-06 14:17:11
请发表您如何删除按钮的代码。 – 2012-07-06 13:42:50
真的,如果您发布代码,您会如何获得帮助? – Zamani 2012-07-06 13:44:44
如果您有时间,我认为值得关注 - [Google I/O 2010 - ListView的世界](http://www.youtube.com/watch?v=wDBM6wVEO70)。 – 2012-07-06 14:11:54