假设我有动态创建的按钮:
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中使用它。