Android 具有两种功能的动态按钮
我有一个动态按钮,它是由一个可以改变的变量创建的。我希望这些按钮有两个功能。我做了一个选择,但我不知道如何实现另一个选择 第一次单击按钮时,我调用了一个执行某些操作的函数,第二次单击同一按钮时,我想执行另一个操作。我想用创建的所有动态按钮重复这个过程 我的代码是:Android 具有两种功能的动态按钮,android,button,dynamic,options,Android,Button,Dynamic,Options,我有一个动态按钮,它是由一个可以改变的变量创建的。我希望这些按钮有两个功能。我做了一个选择,但我不知道如何实现另一个选择 第一次单击按钮时,我调用了一个执行某些操作的函数,第二次单击同一按钮时,我想执行另一个操作。我想用创建的所有动态按钮重复这个过程 我的代码是: LinearLayout buttonsLayout = (LinearLayout)findViewById(R.id.linearlayoutUp); for(int i=0;i<drawView.ge
LinearLayout buttonsLayout = (LinearLayout)findViewById(R.id.linearlayoutUp);
for(int i=0;i<drawView.getNumeroMallas();i++){
Button buttonMalla = new Button(this);
buttonMalla.setText("Malla "+(i+1));
buttonMalla.setId(i+1);
final int index = i;
buttonMalla.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Malla malla = drawView.getMalla(index);
drawView.paintMallaSelected(malla);
}
}
});
buttonsLayout.addView(buttonMalla);
}
}
LinearLayout按钮布局=(LinearLayout)findViewById(R.id.linearlayoutUp);
对于(int i=0;i编辑-非常重要:
我再次阅读了您的代码,您可以使用/来记住按钮的最后状态(我错过了
部分的,对不起!)
一个想法是使用一个变量来知道哪一个是最后一个动作
布尔变量
private boolean action = false;
如果操作为false,则执行第一个操作并将其设置为true。如果为true,则执行第二个操作并将其设置为false。
它应该退出任何方法(类的全局)
差不多
private boolean action;
buttonMalla.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if (action == true)
{
// Do first action
}
else
{
// Do second action
}
action = !action;
Malla malla = drawView.getMalla(index);
drawView.paintMallaSelected(malla);
}
}
});
无论如何,如果它做了一些重要的事情,你应该更好地管理按钮(示例按钮操作不是基于布尔变量,而是在特定状态下)。很久以前,我在一个应用程序中构建了一个“全选”和“全选”功能,我检查了用户是否手动取消选择了一些东西,让按钮再次像“选择”一样工作…我希望我给了你一个想法
无论如何,布尔变量是最直接的方法。您想更改按钮内的文本吗?“全选”和“取消选择”?您能更具体一点吗?我用更多的信息编辑我的帖子它工作得很好。只有我更改了第一个值buttonMaila.setTag(boolean.TRUE);
private boolean action = false;
private boolean action;
buttonMalla.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if (action == true)
{
// Do first action
}
else
{
// Do second action
}
action = !action;
Malla malla = drawView.getMalla(index);
drawView.paintMallaSelected(malla);
}
}
});