2017-07-24 2 views
0

Ich muss ein Quiz mit Levels machen und ich möchte, dass die Schaltfläche für die nächste Ebene nur dann erscheint, wenn eine bestimmte Schaltfläche angeklickt wurde, wie geht das? (Bitte ausführlich, weil ich Java bin neu)Wie klicke ich auf eine Schaltfläche, die eine unsichtbare Schaltfläche in Android erscheinen lässt?

+0

Was hast du bis jetzt probiert? Kannst du etwas Code posten? –

+0

btn.setVisibility (View.GONE); –

+0

Aber dient nur dazu, dass ich auf dem gleichen Bildschirm möchte –

Antwort

1

Aktivität A:

btnA.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        Intent i = new Intent(ActivityA.this, ActivityB.class); 
        i.putExtra("isAnswerCorrect",true); 
        startActivity(i); 
       } 
      }); 

Aktivität B:

... 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_b); 
    boolean isAnswerCorrect = getIntent().getBooleanExtra("isAnswerCorrect", false); 
    if (isAnswerCorrect) { 
     next_level_btn.setVisibility(View.VISIBLE); 
    } else { 
     next_level_btn.setVisibility(View.GONE); 
    } 
} 

... 

In diesem Fall Aktivität A ist, wo Sie die Taste drängen und Aktivität B ist die Aktivität, die Sie zeigen Ihre next level button on,

+0

Sie haben meine Arbeit gerettet, danke. –

2

Dieses in Ihrem Java-Code sein sollte:

 certain_button.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        button_next_level.setVisibility(View.Visible); 
       } 
      }); 

in Ihrer XML-Layout-Datei, macht den button_to_appear wie verschwunden.

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/button_next_level" 
    android:visibility="gone" 
    /> 
+0

Ich habe einen ähnlichen Code verwendet, aber funktioniert es nur, wenn die beiden Tasten auf dem gleichen Bildschirm sind? –

+0

Ich gehe davon aus, dass Sie auf demselben Bildschirm dasselbe Layout meinen. Und ja, es funktioniert nur, wenn sie sich im selben XML-Layout befinden. –

+0

Ja, Bildschirme = Layouts, aber ich muss das mit Buttons in verschiedenen Layouts machen –

Verwandte Themen