android - 如何在 ListView 中的按钮上设置 OnclickListener()?

标签 android button android-listview listactivity

在应用程序中,我有一个 Listactivity,它有一个带有 TextView 和 Button(标记为删除)的适配器。现在我想删除相应的按钮点击项。 请检查代码并提出建议???? `

public class MySimpleArrayAdapter extends ArrayAdapter<String> implements OnClickListener {
    private final Activity context;
    private final String[] names;
    private Button deleteButton= null;
    public MySimpleArrayAdapter(Activity context, String[] names) {
        super (context, R.layout.imagelistlayout, names);
        this.context = context;
        this.names = names;

    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        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]);
        deleteButton.setOnClickListener(this); 
        return rowView;

    }

    @Override
    public void onClick(View convertView) {
        System.out.println(deleteButton.getTag());

    }

}` 

我想知道如何删除按钮被点击的项目。

最佳答案

只需处理 getview 中的点击监听器,您可以在其中使用 findviewbyid 找到按钮

这将处理当前行按钮点击

public class MySimpleArrayAdapter extends ArrayAdapter<String> implements OnClickListener {
    private final Activity context;
    private final String[] names;
    private Button deleteButton= null;
    public MySimpleArrayAdapter(Activity context, String[] names) {
        super (context, R.layout.imagelistlayout, names);
        this.context = context;
        this.names = names;

    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        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]);
       deleteButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                //try to hide textview or something it may help
            }
        });
        return rowView;

    }

}`

关于android - 如何在 ListView 中的按钮上设置 OnclickListener()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8121476/

相关文章:

c# - 你如何 PerformClick();对于不同选项卡上的按钮?

java - 将文本和图像添加到 ListView

android - 带有联系人照片的联系人列表会造成性能问题

android - 为什么同一个版本的gradle会有多个副本

android - SupportMapFragment 在方向更改时重新创建

android - 如何判断一个Android项目是否是使用Eclipse ADT制作的?

ios - 使用圆形按钮创建关卡选择屏幕

css - Bootstrap 3 按钮组 向上或向下下拉,基于表格容器中的位置

android - ListView 中的自定义复选框

android - Kotlin - SimpleDateFormat 解析需要无限时间