java—如何在单击按钮时获取动态生成的按钮的id

3zwtqj6y  于 2021-07-03  发布在  Java
关注(0)|答案(2)|浏览(344)

我使用一个循环来创建一些动态生成的按钮,在同一个循环中,我定义了 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 点击按钮的数量。

vpfxa7rd

vpfxa7rd1#

/**
     * 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)方法。这一次我们了解了视图的所有属性,因此我们通过调用view.getid()方法来获取视图id

e4eetjau

e4eetjau2#

在onclicklistener上,提供了 View v 参数,这基本上是你的按钮,所以只要调用: v.getId() 你应该拿到按钮的id。

button.setOnClickListener(new View.OnClickListener(){
    public void onClick(View v){
        Log.d('LOG', v.getId());
    }
}

相关问题