Java 如何处理android中动态添加按钮的setOnClickListener?
我已将Java 如何处理android中动态添加按钮的setOnClickListener?,java,android-studio,for-loop,onclicklistener,Java,Android Studio,For Loop,Onclicklistener,我已将按钮视图添加到线性布局 现在,我想在每个添加的按钮上setOnClickListener,这是我的代码 for(int i=0;i<15;i++){ Button btn = new Button(this); btn.setText("button " + i); myview.addView(btn); btn.setOnClickListener(new OnClickListener(){ @Override
按钮
视图添加到线性布局
现在,我想在每个添加的按钮上setOnClickListener
,这是我的代码
for(int i=0;i<15;i++){
Button btn = new Button(this);
btn.setText("button " + i);
myview.addView(btn);
btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
Toast.makeText(MainActivity.this, "you clicked button " + i, Toast.LENGTH_SHORT).show();
}
});
}
对于(int i=0;i您单击了按钮1
对于按钮2==>您单击了按钮2
如何做???您可以setTag
和getTag
来识别您的按钮
Button btn = new Button(this);
btn.setText("button " + i);
btn.setTag("button" + i);
myview.addView(btn);
btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
Toast.makeText(MainActivity.this, "you clicked " + v.getTag(), Toast.LENGTH_SHORT).show();
}
});
如果您的意图是只读取“you clicked button(number)”,看起来这也是按钮上的文本,那么您可以将视图转换为按钮并在其上执行gettext(),然后与“you clicked”连接。类似于“you clicked”+(button)v.gettext()@穆罕默德·阿卜杜勒·巴里,不,我不能那样做。按钮文本和按钮标签值是不同的