gpt4 book ai didi

java - 我在 3 个 Activity 中遇到一些问题,无法传递到另一个类(class)并解锁级别

转载 作者:行者123 更新时间:2023-11-29 20:31:17 25 4
gpt4 key购买 nike

我有 ma​​in.xmlmain.class,它们有两个按钮,名为:Level 1 和 < strong>二级

每个按钮都有打开另一个类的功能

level1.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v){
// TODO Auto-generated method stub
Intent i =new Intent(getApplicationContext(),level1.class);
startActivity(i);

level2.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v){
// TODO Auto-generated method stub
Intent i =new Intent(getApplicationContext(),level2.class);
startActivity(i);
}
});

但是条件是level 2 button are locked 但我不知道如何制作一个锁定的按钮,我想问的第一件事是如何制作一个锁定的按钮

要解锁2 级按钮level1.class 事件必须完成。level1.class 中有这样的代码

public class level1 extends Activity implements OnClickListener {

int gamelifes=6, index=0, score=0;
String [] answer ={"the answer"};

lifes =(TextView)findViewById(R.id.lifestext);
lifes.setTextColor(Color.RED);
lifes.setText(String.valueOf(gamelifes));

buttonanswer = (Button)findViewById(R.id.buttonanswer);
buttonanswer.setOnClickListener(this);

good =(ImageView)findViewById(R.id.youwin);
good.setOnClickListener(this);

buttonfinish = (Button)findViewById(R.id.finish);
buttonfinish.setOnClickListener(this);

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

edittext=(EditText)findViewById(R.id.editText);
if(v==buttonanswer) {

String abc =edittext.getText().toString();
if(abc.equalsIgnoreCase(answer[index]))
{
good.setVisibility(View.VISIBLE);
buttonfinish.setVisibility(View.VISIBLE);
score++;
}
else
{
gamelifes--;
}

buttonfinish.setOnClickListener(new View.OnClickListener() {

public void onClick(View v){
finish();
}
});
}

当答案正确时,会出现一些图像和一个按钮。和 score++; 如果答案正确,gamelifes--; 如果错误。

我的下一个问题是如何将 scoregamelifes 值发送到 level2.class 而条件当 buttonfinish 单击时将 finish(); 并返回到 Main.class 并解锁 level 2 main.class

中的按钮

那如何做一个sharedpreference设置来保存解锁按钮呢?

最佳答案

首先,要使按钮不可点击,您可以使用:

level2.setEnabled(false);

然后,当它可以被点击时,您只需将它设置为 true。

其次,SharedPreferences 可用于存储您的值,例如分数,然后可以在应用程序中的任何位置访问这些值。

设置SharedPreferences:

SharedPreferences preferences = getSharedPreferences("preferences", MODE_PRIVATE);
preferences.edit().putInt("score", 100).apply();

然后稍后得到分数:

preferences.getInt("score");

因此,如果您想使用保存的 boolean 值来了解第二个级别是否已解锁,您可以这样做:

SharedPreferences preferences = getSharedPreferences("preferences", MODE_PRIVATE);
boolean levelTwoUnlocked = preferences.getBoolean("level2", false);

level2.setEnabled(levelTwoUnlocked);

或者如果你想设置一个按钮的可见性:

if (levelTwoUnlocked) {
level2.setVisibility(View.VISIBLE);
} else {
level2.setVisibility(View.INVISIBLE);
}

关于java - 我在 3 个 Activity 中遇到一些问题,无法传递到另一个类(class)并解锁级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31907909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com