Java 同一按钮多次点击
这个想法是,按钮可以在第一次点击时做一件事,在第二次点击时做另一件事Java 同一按钮多次点击,java,android,Java,Android,这个想法是,按钮可以在第一次点击时做一件事,在第二次点击时做另一件事 button_food = (Button) findViewById(R.id.foodicon_layout); button_travel = (Button) findViewById(R.id.travelicon_layout); button_fuel = (Button) findViewById(R.id.fuelicon_layout); button_fetch = (Button) findV
button_food = (Button) findViewById(R.id.foodicon_layout);
button_travel = (Button) findViewById(R.id.travelicon_layout);
button_fuel = (Button) findViewById(R.id.fuelicon_layout);
button_fetch = (Button) findViewById(R.id.fetchicon_layout);
button_travel.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
button_food.setVisibility(View.GONE);
button_fuel.setVisibility(View.GONE);
button_fetch.setVisibility(View.GONE);
}
});
在给定的示例中,当单击“移动”按钮时,其他按钮将不可见。再次单击同一按钮时,我希望其他按钮再次可见。您可以做的是检查它们的可见性,如果它们可见,则将可见性设置为“已消失”,否则将可见性设置为“可见”以供参考。请查看以下代码
if (button_food.getVisibility()==View.VISIBLE) {
button_food.setVisibility(View.GONE);
} else {
button_food.setVisibility(View.VISIBLE);
}
if (button_fuel.getVisibility()==View.VISIBLE) {
button_fuel.setVisibility(View.GONE);
} else {
button_fuel.setVisibility(View.VISIBLE);
}
if (button_fetch.getVisibility()==View.VISIBLE) {
button_fetch.setVisibility(View.GONE);
} else {
button_fetch.setVisibility(View.VISIBLE);
}
只需检查当前状态并相应地采取行动
public void onClick(View v) {
// Perform action on click
if (button_food.getVisibility() == View.VISIBLE) {
button_food.setVisibility(View.GONE);
} else {
button_food.setVisibility(View.VISIBLE
}
if (button_fuel.getVisibility() == View.VISIBLE) {
button_fuel.setVisibility(View.GONE);
} else {
button_fuel.setVisibility(View.VISIBLE
}
if (button_fetch.getVisibility() == View.VISIBLE) {
button_fetch.setVisibility(View.GONE);
} else {
button_fetch.setVisibility(View.VISIBLE
}
}
您可以通过获取按钮的当前可见性并切换按钮来设置其可见性
button_food = (Button) findViewById(R.id.foodicon_layout);
button_travel = (Button) findViewById(R.id.travelicon_layout);
button_fuel = (Button) findViewById(R.id.fuelicon_layout);
button_fetch = (Button) findViewById(R.id.fetchicon_layout);
button_travel.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
int visibility = button_food.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE;
// Perform action on click
button_food.setVisibility(visibility);
button_fuel.setVisibility(visibility);
button_fetch.setVisibility(visibility);
}
});
这样编写只是编写if语句的一种简单方法
int visibility;
if(button_food.getVisibility() == View.VISIBLE){
visibility = View.GONE;
} else {
visibility = View.VISIBLE;
}
你在找这个吗
public void onClick(View v) {
if(visible){
visible=false;
button_food.setVisibility(View.GONE);
button_fuel.setVisibility(View.GONE);
button_fetch.setVisibility(View.GONE);
}else{
visible=true;
button_food.setVisibility(View.VISIBLE);
button_fuel.setVisibility(View.VISIBLE);
button_fetch.setVisibility(View.VISIBLE);
}
}
如果你用数组,我觉得太简单了
Button btnArray[] = new Button[4];
btnArray[0] = (Button) findViewById(R.id.button_food);
btnArray[1] = (Button) findViewById(R.id.button_travel);
btnArray[2] = (Button) findViewById(R.id.button_fuel);
btnArray[3] = (Button) findViewById(R.id.button_fetch);
View.OnClickListener btnListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
for (int i = 0; i < btnArray.length; i++) {
if (btnArray[i].getId() != v.getId())
if (btnArray[i].getVisibility() == View.GONE)
btnArray[i].setVisibility(View.VISIBLE);
else
btnArray[i].setVisibility(View.GONE);
}
}
};
for (int i = 0; i < btnArray.length; i++)
btnArray[i].setOnClickListener(btnListener);
按钮btnArray[]=新按钮[4];
btnArray[0]=(按钮)findViewById(R.id.Button\u食物);
btnArray[1]=(按钮)findViewById(R.id.Button\u travel);
btnArray[2]=(按钮)findViewById(R.id.Button\u fuel);
btnArray[3]=(按钮)findViewById(R.id.Button\u fetch);
View.OnClickListener btnListener=new View.OnClickListener(){
@凌驾
公共void onClick(视图v){
对于(int i=0;i
我认为这是一种最干净的方式:
button_food = (Button) findViewById(R.id.foodicon_layout);
button_travel = (Button) findViewById(R.id.travelicon_layout);
button_fuel = (Button) findViewById(R.id.fuelicon_layout);
button_fetch = (Button) findViewById(R.id.fetchicon_layout);
private boolean visible;
button_travel.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if(visible){
visible=false;
button_food.setVisibility(View.GONE);
button_fuel.setVisibility(View.GONE);
button_fetch.setVisibility(View.GONE);
}else{
visible=true;
button_food.setVisibility(View.VISIBLE);
button_fuel.setVisibility(View.VISIBLE);
button_fetch.setVisibility(View.VISIBLE);
}
}
});
可见的定义在哪里?