android - 将参数传递给 ListView 行中按钮上的 onclick 监听器

标签 android listview button

我刚启动android,遇到了一些问题。
我创建了一个从数据库填充的 ListView
每行都有一个按钮,用于从列表和数据库中删除项目。

我能够将事件监听器连接到按钮,但我无法确定要删除的匹配数据库记录。

我的类(class)如下所示

public class FeedArrayAdapter extends ArrayAdapter<Feed> implements OnClickListener
{
    private ARssEReaderDBAdapter dba;
    private String TAG = "FeedArrayAdapter";

    public FeedArrayAdapter(Context context, int textViewResourceId, List<Feed> items)          {
    super(context, textViewResourceId, items);
    Log.w(TAG, "List");


    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        Log.w(TAG, "getView");
        View v = convertView;
        if (v == null) {
            LayoutInflater vi = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        v = vi.inflate(R.layout.feedlistrow, null);
    }
    Feed feed = getItem(position);
    if (feed != null) {
        TextView title = (TextView)v.findViewById(R.id.TextView01);
        if (title != null) {
            title.setText(feed.getTitle());
        }
        Button btnDelete = (Button)v.findViewById(R.id.btnDelete);
        btnDelete.setOnClickListener(this); //btnDeleteFeedListener
    }
    return v;
}

public void onClick(View v) {
    Log.w(TAG, "something got clicked: ");
}

那么如何将数据库记录 ID 传递给处理程序,以便我可以使用数据库适配器将其删除?

最佳答案

您应该将记录的ID存储在Tag中,在您的 View 上调用setTag(),并在onclick调用getTag()

中读取

关于android - 将参数传递给 ListView 行中按钮上的 onclick 监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3471613/

相关文章:

android - 捕获的相机图像看起来模糊

c# - 里面的按钮是 listView 在 UWP 的 View 中不显示

android - 当列表项很少时,如何将页脚 View 显示到屏幕末尾?

HTML/CSS 在线显示按钮并自动转到下一行

swift - 使用 AKPlayer 上的切换(开关)开关

button - Python3 : How to dynamically resize button text in tkinter/ttk?

android - 如何锁定/卡住 CameraX 预览纹理 View ?

java - 如何在简单的非 Activity java 类中创建类似于 onDestroy 的方法?

android - 自签名 SSL 连接 - Android

android - onCreateContextMenu 被 ContextMenuInfo 的 null 值调用