How can I set up button onclicklistner when using simple cursor adapter

你说的曾经没有我的故事 提交于 2019-11-29 16:26:19
Phan Van Linh

One solution is to create a CustomAdapter that extends SimpleCursorAdapter.
Then override bindView method
In bindView, find the Button then handle onClickEvent

public class CustomAdapter extends SimpleCursorAdapter {

    private Context mContext;
    private Context appContext;
    private int layout;
    private Cursor cr;
    private final LayoutInflater inflater;

    public CustomAdapter(Context context, int layout, Cursor c, String[] from, int[] to) {
        super(context, layout, c, from, to);
        this.layout = layout;
        this.mContext = context;
        this.inflater = LayoutInflater.from(context);
        this.cr = c;
    }

    @Override
    public View newView(Context context, Cursor cursor, ViewGroup parent) {
        return inflater.inflate(layout, null);
    }

    @Override
    public void bindView(View view, Context context, Cursor cursor) {
        super.bindView(view, context, cursor);
        ...
        TextView tv_Name = (TextView) view.findViewById(R.id.tv_Name);
        tv_Name.setText(...);
        ...
        Button btnRemove = (Button) view.findViewById(R.id.btn_remove);
        btnRemove.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                // button click
                // Remove your item here 

            }
        });
    }
}

Use it in Activity by

 final CustomAdapter sc = new CustomAdapter(this,R.layout.list_row2,ictemp, from, to, 0);
 lv.setAdapter(sc)

Hope this helps

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!