java - 同一个按钮多次点击

标签 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) 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);
    }
});

在给定的示例中,当单击 button_travel 时,其他按钮将不可见。再次单击相同按钮时,我希望其他按钮再次可见。

最佳答案

您可以通过获取按钮的当前可见性并切换它来设置按钮的可见性。

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;
}

关于java - 同一个按钮多次点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31646673/

相关文章:

java - Maven 2.2.1 优化项目构建时间

java - 使用 Jackson java 反序列化派生类

java - 提示的 EditText 字符限制

java - 如何在 Android WebView 中正确实现 AdMob 插页式广告?

java - 两个列表中的共同元素

java - JSch 0.1.54 dh-group14-sha1 算法协商失败

java - java框架中使用的具有编译时间的泛型与具有类类型的运行时

java - "debug as"与导出的 APK 有何不同

android - 如何使只读(以编程方式填充)首选项?

android - 如何在android中的drawable上添加阴影效果