java - 限制按钮点击次数

标签 java android button android-studio

我制作了一个应用程序,用户按下一个按钮可以进入另一个 Activity ,但我只希望用户总共按下这个按钮 5 次。我尝试了下面的代码,但是它并没有阻止用户按下按钮超过 5 次,所以我猜应用程序需要以某种方式记住点击次数?

public void FoodClicks(View view){
            if(this.counter == 5){
                this.counter ++;
            }
            else {
                Button btn = (Button)findViewById(R.id.button);
                btn.setEnabled(false);
            }
        }

ActivityMain.xml:

<Button
android:id="@+id/button"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="38dp"
android:text="@string/addmeal" /> 

最佳答案

button = (Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {

        int clicks = 0;
        clicks++;

        if (clicks >= 5){
            button.setEnabled(false);
        }

        SharedPreferences prefs = this.getSharedPreferences("myPrefsKey", this.MODE_PRIVATE);
        SharedPreferences.Editor editor = prefs.edit();
        editor.putInt("clicks", clicks);
        editor.apply();
    }
});

使用 sharedPreferences 来存储点击次数,因此如果您的按钮执行任何操作,可以存储点击次数。

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

相关文章:

java - 如何从一张 map 中删除另一张 map 的元素?

java - 从哪里可以获得 Notes.jar 或 NCSO.jar?

android - 亚行 |设备连接出现问题

html - ie7 中指定宽度的按钮自动换行?

html - 使用垫子按钮以 Angular 构建导航栏

java - Java 中人性化的日期逻辑库

java - JAXB 中多次出现部分返回空列表

java - Android应用程序文件类似于黑莓中的.cod和.jad文件

java - inflate() 后文本未出现在 TextView 框中

c# - 如何计算在我的窗口窗体中按下了多少个按钮?