android - 我如何调用驻留在 ListView 项目中的按钮的 onclick 监听器

标签 android listview button onclicklistener

我在 ListView 上有一个按钮,我想点击它,但问题是点击时,目前它无法识别监听器调用是 ListView 还是按钮,

提前致谢...:)

最佳答案

如果您不想处理对整个列表项的点击,请不要在 ListView 上设置监听器。您可以为列表项的单个 View 设置监听器,如下例所示:

public class MyArrayAdapter extends ArrayAdapter<Map<String, String>> {

    private Context mContext;

    public MyArrayAdapter(Context context, int textViewResourceId,
            List<Map<String, String>> objects) {
        super(context, textViewResourceId, objects);
        mContext = context;
    }

    public View getView(final int position, View convertView, ViewGroup parent) {

        if (convertView == null) {
            convertView = LayoutInflater.from(getContext()).inflate(
                    R.layout.list_row, null, false);
        }

        final Map<String, String> data = (Map<String, String>) getItem(position);

        ImageView imageView = (ImageView) convertView
                .findViewById(R.id.imageView);
        imageView.setImageResource(Integer.parseInt(data.get("image")));

        TextView textView = (TextView) convertView
                .findViewById(R.id.textViewTitle);
        textView.setText(data.get("name"));

        Button button = (Button) convertView
                .findViewById(R.id.buttonShow);

        button.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                mContext.startActivity(new Intent(mContext,
                            DetailActivity.class).putExtra(EXTRA_IMAGE_URL,
                            data.get("url")));
            }
        });

        return convertView;
    }

}

关于android - 我如何调用驻留在 ListView 项目中的按钮的 onclick 监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15941374/

相关文章:

python - PyQt:翻译标准按钮

javascript按钮onclick不会触发

android - fragment 作为内部类

android - 如何在 Camera X 库中以编程方式更改相机镜头朝向?

android - 高度 ListView - 所有行可见

android - 在 fragment 中显示可点击列表

java - 传递的整数值总是重置回默认值

android - 普通dp如何支持大屏?

android - ListView 中的 getSelectedItem() 的目的是什么

jquery - 如何附加一个按钮,然后告诉该按钮删除 html 元素?