首页 > 解决方案 > 单击时如何获取动态生成的按钮的ID

问题描述

我使用一个循环来创建一些动态生成的按钮,并在同一个循环中定义了OnClickListener.

总结代码:

for (int j = 0; j < list.size(); j++) {
    Button button = new Button(this);
    button.setId(j);
    button.setOnClickListener(new View.OnClickListener() {
        public void onClick(view v) {
            //Code
        }
    });
}

如果单击它们中的任何一个,则将onClick被激活并且它们都运行相同的代码。我想知道如何获得id点击按钮。

标签: javaandroiddynamically-generated

解决方案


/**
 * Interface definition for a callback to be invoked when a view is clicked.
 */
public interface OnClickListener {
    /**
     * Called when a view has been clicked.
     *
     * @param v The view that was clicked.
     */
    void onClick(View v);
}

上面的接口是为每个视图注册的setOnClickListener(),所以如果任何用户点击视图,onClick(View v)方法将被调用。那个时候我们就了解了视图的所有属性。因此,我们通过调用此方法获取 Views Id view.getId()


推荐阅读