Ich bin Anfänger in Android Dev und ich erstelle ein Pizza Clicker Spiel, genau wie Cookie Clicker. Ich habe eine Aktivität für Upgrades erstellt und für die Aktualisierung benötigst du eine gewisse Menge an Pizza. Wenn du 10 Pizzas hast, kannst du upgraden. Wenn die Anzahl der Pizzas gleich dem Preis ist, für den die Schaltfläche aktiviert ist, ist die Schaltfläche nicht aktiviert. Wenn ich auf die Schaltfläche klicke, wird die Menge an Pizza verringert und der Button sollte wieder deaktiviert werden, aber es wird nicht deaktiviert.Button deaktiviert nicht in einer anderen Aktivität
Hier ist die erste Aktivität:
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
public static int pizza = 0;
public static TextView pizzaContText, helpers;
public static Button add, upgrades, exit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initialize();
}
private void initialize() {
add = (Button) findViewById(R.id.makePizza);
exit = (Button) findViewById(R.id.exitButton);
upgrades = (Button) findViewById(R.id.upgrades);
pizzaContText = (TextView) findViewById(R.id.pizzas);
helpers = (TextView) findViewById(R.id.helpers);
pizzaContText.setText("Pizzas: " + pizza);
pizzaContText.setTextColor(Color.BLACK);
pizzaContText.setTextSize(40);
helpers.setText("Helpers: " + Upgrades.contHelper);
helpers.setTextSize(20);
helpers.setTextColor(Color.BLACK);
add.setOnClickListener(this);
upgrades.setOnClickListener(this);
exit.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.makePizza:
pizza++;
pizzaContText.setText("Pizzas: " + pizza);
pizzaContText.setTextColor(Color.BLACK);
pizzaContText.setTextSize(40);
break;
case R.id.upgrades:
Intent i = new Intent(getApplicationContext(), Upgrades.class);
startActivity(i);
break;
case R.id.exitButton:
finish();
System.exit(0);
break;
}
}
}
Und hier ist die zweite Aktivität (Upgrades):
public class Upgrades extends AppCompatActivity implements View.OnClickListener{
public static int contHelper = 0, priceHelper = 10;
Button addHelper, back;
Handler h = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_upgrades);
initialize();
if (MainActivity.pizza >= priceHelper){
//ENABLES THE BUTTON
addHelper.setEnabled(true);
} else{
//DISABLE THE BUTTON
addHelper.setEnabled(false);
}
}
private void initialize() {
addHelper = (Button) findViewById(R.id.addHelper);
addHelper.setText("Helper: " + priceHelper + " pizzas");
back = (Button) findViewById(R.id.back);
addHelper.setOnClickListener(this);
back.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.addHelper:
MainActivity.pizza-=priceHelper;
addHelper.setText("Helper: " + priceHelper + " pizzas");
priceHelper+=4;
contHelper++;
//Auto clicks the make pizza button every 1 sec
final Runnable r = new Runnable() {
@Override
public void run() {
MainActivity.add.performClick();
h.postDelayed(this, 1000);
}
};
h.postDelayed(r, 1000);
break;
case R.id.back:
Intent i = new Intent(getApplicationContext(), MainActivity.class);
startActivity(i);
break;
}
}
}
welche Codezeile deaktiviert Ihre Taste, bitte identifizieren Sie sie –