2017-04-22 4 views
0

Ich bin neu in Android Studio und versuche mir selbst die Grundlagen zu lehren. Ich habe momentan eine Anzahl von Knöpfen für verschiedene Nahrungsmittel (Salatdressings). Einmal gedrückt, möchte ich, dass das Lebensmittel in einer Liste gespeichert wird, so dass ich es, wenn ich zur nächsten Aktivität gehe, dort anzeigen kann, wo es gedrückt wurde.Speichern der Schaltfläche drückt in eine Liste und zeigt sie in einer anderen Aktivität an?

SaladDressing.java:

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 

public class SaladDressing extends AppCompatActivity { 

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

    Button button1 = (Button) findViewById(R.id.BalsamicVinaigrette); 
    button1.setText("Balsamic Vinaigrette"); 

    Button button2 = (Button) findViewById(R.id.Caesar); 
    button2.setText("Caesar"); 

    Button button3 = (Button) findViewById(R.id.BleuCheese); 
    button3.setText("Bleu Cheese"); 

    Button button4 = (Button) findViewById(R.id.HM); 
    button4.setText("Honey Mustard"); 

    Button button5 = (Button) findViewById(R.id.LoCalItalian); 
    button5.setText("Lo-Cal Italian"); 

    Button button6 = (Button) findViewById(R.id.CM); 
    button6.setText("Chipotle Mayo"); 

    Button button7 = (Button) findViewById(R.id.Ranch); 
    button7.setText("Ranch"); 

    Button button8 = (Button) findViewById(R.id.ThousandIsland); 
    button8.setText("Thousand Island"); 

    button1.setOnClickListener(new View.OnClickListener(){ 
     public void onClick(View v) { 
      startActivity(new Intent(SaladDressing.this, Orderlist.class)); 
     } 
    }); 

    button2.setOnClickListener(new View.OnClickListener(){ 
     public void onClick(View v) { 
      startActivity(new Intent(SaladDressing.this, Orderlist.class)); 
     } 
    }); 

    button3.setOnClickListener(new View.OnClickListener(){ 
     public void onClick(View v) { 
      startActivity(new Intent(SaladDressing.this, Orderlist.class)); 
     } 
    }); 

    button4.setOnClickListener(new View.OnClickListener(){ 
     public void onClick(View v) { 
      startActivity(new Intent(SaladDressing.this, Orderlist.class)); 
     } 
    }); 

    button5.setOnClickListener(new View.OnClickListener(){ 
     public void onClick(View v) { 
      startActivity(new Intent(SaladDressing.this, Orderlist.class)); 
     } 
    }); 

    button6.setOnClickListener(new View.OnClickListener(){ 
     public void onClick(View v) { 
      startActivity(new Intent(SaladDressing.this, Orderlist.class)); 
     } 
    }); 

    button7.setOnClickListener(new View.OnClickListener(){ 
     public void onClick(View v) { 
      startActivity(new Intent(SaladDressing.this, Orderlist.class)); 
     } 
    }); 
    button8.setOnClickListener(new View.OnClickListener(){ 
     public void onClick(View v) { 
      startActivity(new Intent(SaladDressing.this, Orderlist.class)); 
     } 
    }); 




} 
} 

Ich bin nicht sicher, aber, wie ich diese drückt retten kann und sie auf der Orderlist.java und Layout-Datei anzuzeigen. Ich denke, dass ich eine ArrayList verwenden müsste, aber ich bin nicht sicher, wie man es für das Speichern von Tastendrucken verwendet.

Danke!

Antwort

0

Wenn Sie mehrere Auswahl zulassen möchten, dann empfehle ich Ihnen CheckBoxes anstelle von Buttons zu verwenden. Außerdem sollten Sie die Klasse SaladDressing mit View.OnClickListener erweitern und void onClick(View v) implementieren. Anstatt mehrere anonyme Klassen für jede Ansicht zu haben, klicken Sie auf Listener. Dann haben Sie eine einzige und setzen sie auf alle Ansichten wie button1.setOnClickListener(this); und so weiter. Die Implementierung der OnClickListener-Methode könnte wie folgt aussehen:

public void onClick(View v) { 
      String dressing = ((Button) v).getText(); 
      Intent intent = new Intent(SaladDressing.this, Orderlist.class); 
      intent.putExtra("selected_dressing", dressing); 
      startActivity(intent); 
     } 
+0

Vielen Dank, das ist ein guter Rat. Ich bin mir jedoch immer noch nicht sicher, wie man die Werte eines Tastendrucks speichert und in der Orderlist-Klasse anzeigt. – pshaun

Verwandte Themen