Ich weiß nicht was ich falsch mache, aber irgendwie klappst immer noch nicht.
public class MainActivity extends Activity {
private static TextView lblPizzaOrder;
private String strOrder = "Current Pizza:", strBelag = " \nBelag: ",
strName = "Pizza Name: ", strPizzaSize = "\nGröße: ";
private AlertDialog.Builder dialogBuilder;
// **********************************************************
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// ******************************************************************************
Button btnPizzaName = (Button) findViewById(R.id.btxPizzaName);
btnPizzaName.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pizzaNameDialog();
}
});
// *********************************************************************
Button btnPizzaSize = (Button) findViewById(R.id.btxGroesse);
btnPizzaSize.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pizzaSizeDialog();
}
});
// *********************************************************************
Button btnPizzaBelag = (Button) findViewById(R.id.btxBelag);
btnPizzaBelag.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pizzaBelagDialog();
}
});
// *************************************************************************
TextView lblPizzaOrder = (TextView) findViewById(R.id.textView1);
lblPizzaOrder.setText(strOrder);
}
// *******************************************************************
// PizzaName Dialog
public void pizzaNameDialog() {
// Variables
dialogBuilder = new AlertDialog.Builder(this);
final EditText txtInput = new EditText(this);
strName = "Pizza Name: ";
// Process
dialogBuilder.setTitle("Gib deiner Pizza einen Namen");
dialogBuilder.setMessage("Wie heißt deine Pizza?");
dialogBuilder.setView(txtInput);
dialogBuilder.setPositiveButton("Ok",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
strName = txtInput.getText().toString();
Toast.makeText(getApplicationContext(),
"Pizza wurde benannt.", Toast.LENGTH_SHORT)
.show();
}
});
dialogBuilder.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(),
"Pizza wurde nicht benannt.",
Toast.LENGTH_SHORT).show();
}
});
// Output
AlertDialog dialogPizzaName = dialogBuilder.create();
dialogPizzaName.show();
}
// Pizza Größe Dialog
public void pizzaSizeDialog() {
// Variables
dialogBuilder = new AlertDialog.Builder(this);
final String[] strSize = { "Klein", "Mittel", "Groß", "Familienpizza" };
strPizzaSize = "\nSize: ";
// Process
dialogBuilder.setTitle("Wähle eine Größe");
dialogBuilder.setSingleChoiceItems(strSize, -1,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
strPizzaSize = strSize[which];
Toast.makeText(getApplicationContext(),
"Größe wurde ausgewählt.", Toast.LENGTH_SHORT)
.show();
dialog.dismiss();
}
});
// Output
AlertDialog dialogPizzaSize = dialogBuilder.create();
dialogPizzaSize.show();
}
// **********************************************************************
// Belag Dialog
private void pizzaBelagDialog() {
// Variablen
final ArrayList arrayBelag = new ArrayList();
dialogBuilder = new AlertDialog.Builder(this);
final String[] strBelaege = { "Hühnchen", "Pepperoni", "Pilze",
"Zwiebeln", "Speck", "Oliven", "Ananas", "Pommes", "Soße",
"Meeresfrüchte" };
// Process
strBelag = "\nBelag:\n";
dialogBuilder.setTitle("Wähle deinen Belag aus");
dialogBuilder.setMultiChoiceItems(strBelaege, null,
new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which,
boolean isChecked) {
if (isChecked) {
arrayBelag.add(which);
} else if (arrayBelag.contains(which)) {
arrayBelag.remove(Integer.valueOf(which));
}
}
});
dialogBuilder.setPositiveButton("Ok",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
for (int intLoop = 0; intLoop < arrayBelag.size(); intLoop++) {
strBelag = strBelaege[(Integer) arrayBelag
.get(intLoop)] + ", ";
}
Toast.makeText(getApplicationContext(),
"Belag wurde ausgewählt.", Toast.LENGTH_SHORT)
.show();
}
});
dialogBuilder.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(),
"Belag wurde nicht ausgewählt.",
Toast.LENGTH_SHORT).show();
}
});
// Output
AlertDialog dialogPizzaBelag = dialogBuilder.create();
dialogPizzaBelag.show();
}
// ******************************************************************************
public void Display() {
TextView lblPizzaOrder = (TextView) findViewById(R.id.textView1);
strOrder = "Current Pizza:\n" + strName + "\n" + strBelag + "\n"
+ strPizzaSize;
lblPizzaOrder.setText(strOrder);
}
// *******************************************************************************
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
Die TextView ist jetzt als Klassenvariable deklariert.
Und ich habe auch das probiert mit dem Ändern der Display Methode, also dort die TV vom Layout zu lesen, hat aber auch nicht funktioniert.
Was mir auch noch aufgefallen ist. Mein Layout sollte ja das Anzeigen:
Current Pizza:
Belag:
Name:
Größe:
Aber es ist nur Current Pizza zu sehen.
Ich werd jetzt noch einmal das Projekt sorgfältig durchsehen, vll hab ich ja was übersehen.
Ich weiß es ist viel verlangt, aber ich würde mich echt freuen, wenn du dir den Code anschauen könntest
Und Danke für deine Hilfe bis jetzt!