2017-01-22 10 views
0

Ich frage mich, ob es eine Möglichkeit gibt, die gleiche Aktivität für verschiedene Tasten aufzurufen, aber verschiedene Dinge für jeden einzelnen .. Genauer. Ich habe eine Aktivität mit etwa 10 Tasten darauf und wenn ich es traditionell mache, jedes Mal, wenn ich einen Knopf drücke, muss ich eine Aktivität für jeden erstellen und als Ergebnis werde ich mehr als 15 Java-Dateien haben.
Also war ich Ich frage mich, ob es irgendeinen Weg gibt, alle Knöpfe, die zur gleichen Aktivität zeigen (was einfach ist, ich werde "beabsichtigen", die gleiche Aktivität zu zeigen), aber auf diese Aktivität, abhängig von der Taste, die ich drücke, verschiedene Aktionen ausführen.

Zum Beispiel, alle Schaltflächen zeigen auf Buttons.java, aber innerhalb eines TextView existieren und jedes Mal zeigen ein anderer Text, je nachdem, welche Tasten ich drücke -> Text1 (für Button1), Text2 (für Button2), Text3 (für Button3) ...

Hast du irgendwelche Ideen ?? Vielen Dank!!Android: Gleiche Aktivität für verschiedene Tasten, aber verschiedene Aktionen

+0

Ihre Haupttätigkeit, wie Sie beschreiben es die Schaltfläche Liste . Wenn eine Schaltfläche angeklickt wird, erhalten Sie eine neue Ansicht (z. B. diejenige mit der Textansicht), die eine neue "Aktivität" oder dieselbe Aktivität, aber ein anderes "Fragment" sein muss. Um den unterschiedlichen Text bei einer neuen Aktivität zu übergeben, sollten Sie 'intent.putExtra()' verwenden. Wenn Sie 'Fragment' verwenden, sollten Sie' fragment.setArguments() ' –

Antwort

2

Sie können einige Informationen Aktivität passieren, wenn Sie es starten wollen ... zum Beispiel:

 button1.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent intent = new Intent(getContext(), ExampleActivity.class); 
       //There is no limit for number of Extras you want to pass to activity 
       intent.putExtra("buttonNumber", 1); 
       startActivity(intent); 
      } 
     }); 

ExampleActivity.java

public class ExampleActivity extends Activity { 

int pressedButtonNumber; 

@Override 
protected void onCreate(@Nullable Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_add_poll); 
    pressedButtonNumber = getIntent().getExtras().getInt("buttonNumber"); 
    switch(pressedButtonNumber){ 
     case 1: 
     //Do Something for clicking button 1 scenario 
     break; 
    } 
} 
+0

verwenden. Vielen Dank für das Beispiel !!! Der erste Teil, es funktioniert super, jeder Knopf schickt mich zur gleichen Aktivität ... Leider der zweite Teil, ich habe zwei Fehler .. Der erste ist auf "switch (buttonNumber)", wo es sagt, es kann resorlve symbole ' buttonNumber 'und der andere ist auf Nummer 1, wo es heißt "Constant Ausdruck erforderlich" .. Haben Sie irgendwelche Ideen ?? Vielen Dank!! –

+0

Ich habe es gefunden ... Sie haben es wahrscheinlich nicht gesehen, es ist nicht Schalter (buttonNumber), sondern Schalter (pressedButtonNumber) .... wenn ich das korrigiere, alles gelöst !!! Vielen Dank!! –

+0

@nigi Ich habe diese Codes nicht in der IDE geschrieben, also habe ich nicht bemerkt, dass es ein Problem gibt ... Ich werde es korrigieren ... und Ihre Begrüßung;) – K2evil

Verwandte Themen