假设我有动态创建的按钮:

for(int j = 0; j < spirits.length;

     j++){
                         Button imgBtn = new Button(v.getContext());
                         imgBtn.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
                         imgBtn.setMinimumWidth(100);
                         imgBtn.setMinimumHeight(100);
                         imgBtn.setId(j+1);
                         imgBtn.setTag(spirits[j]);
                         imgBtn.setText(spirits[j]);
                         imgBtn.setOnClickListener(new SpiritsClickListener());
                         cabinet_layout.addView(imgBtn);
                     }


我想每次按下按钮时更改其文字(开-关)
如何引用OnClickListener类中的按钮?

最佳答案

在onClickListener中,您有一个名为onClick(View v){}的函数,其中v是被单击的视图。您可以使用v获取有关按钮的详细信息,包括其ID。您也可以采用此视图,如果知道它是一个按钮,则将其强制转换为按钮。

Button clicked = (Button)v;


然后,您可以像通常使用按钮一样在javacode中使用它。

10-08 06:59