Java 要解锁的店铺图像按钮

Java 要解锁的店铺图像按钮,java,android-studio,android-layout,imagebutton,Java,Android Studio,Android Layout,Imagebutton,这就是imageButton,在这里我尝试在硬币不等于价格的情况下每个按钮都不可点击,再加上一个代码,如果点击toast alert“success”(成功)按钮,它将扣除此代码,这很简单 首先,将android:clickable=“false”设置为布局文件中的所有图像按钮 然后,使用SharedReferences保存硬币的价值 SharedPreferences.Editor editor = getSharedPreferences("PREFS", MODE_PRIVATE).edi

这就是imageButton,在这里我尝试在硬币不等于价格的情况下每个按钮都不可点击,再加上一个代码,如果点击toast alert“success”(成功)按钮,它将扣除此代码,这很简单

首先,将
android:clickable=“false”
设置为布局文件中的所有图像按钮

然后,使用SharedReferences保存硬币的价值

SharedPreferences.Editor editor = getSharedPreferences("PREFS", MODE_PRIVATE).edit();
        editor.putString("coins", "100");
        editor.apply();
然后,您可以验证硬币是否不等于OnCreate活动方法中的价格:

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.your_layout);

    button100 = findViewById(R.id.yourbutton);
    button150 = findViewById(R.id.yourbutton);
    button300 = findViewById(R.id.yourbutton);
    button450 = findViewById(R.id.yourbutton);

    button100.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            counterMtd();
        }
    });

    button150.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            counterMtd();
        }
    });

    button300.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            counterMtd();
        }
    });

    button450.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            counterMtd();
        }
    });
}

private void counterMtd(){

    SharedPreferences preferences = getApplicationContext().getSharedPreferences("PREFS", MODE_PRIVATE);
    String coins = preferences.getString("coins", "0");
    int coinsCounter = Integer.parseInt(coins);

    if (coinsCounter >= 100){

        button100.setClickable(true);
        button150.setClickable(false);
        button300.setClickable(false);
        button450.setClickable(false);
    }

    if (coinsCounter >= 150){

        button100.setClickable(true);
        button150.setClickable(true);
        button300.setClickable(false);
        button450.setClickable(false);
    }

    if (coinsCounter >= 300){

        button100.setClickable(true);
        button150.setClickable(true);
        button300.setClickable(true);
        button450.setClickable(false);
    }

    if (coinsCounter >= 450){

        button100.setClickable(true);
        button150.setClickable(true);
        button300.setClickable(true);
        button450.setClickable(true);
    }
}
解释:

  • button100是指你可以购买100枚硬币的按钮
  • 按钮150是指你可以购买150枚硬币的按钮
  • button300是指你可以购买300枚硬币的按钮
  • button450是指你可以购买450枚硬币的按钮

希望有帮助

请阅读。非常感谢您抽出时间。我是否可以添加一些警告(至少像祝酒词一样),以确保至少发生了一些事情,或者颜色是灰色的(如果不可单击),以设置按钮颜色灰色:button.setBackgroundColor(getResources().getColor(R.color.yourcolor));谢谢,现在的问题是当点击时,它没有减少硬币我编辑了答案,请看它并告诉我如果不起作用。在我添加编辑的代码后,它现在不起作用,不可点击,也不减少任何硬币