N
newperson
Neues Mitglied
- 1
Hallo.
ich bin noch ein Anfänger und ich wollte mit einer kleinen leichten Übung beginnen. Leider stellt sich fest, das diese leichte Übung eine schwere und steinige ist.
Übung: Ich wollte eine Quiz-App machen mit zwei Button(True & False) und dann noch ein TestView für die Fragen. Leider funktioniert die App nicht wie ich mir sie vorstelle. Also es wird eine Frage gestellt und mit einen Button-druck (True & False) soll ich die Frage richtig beantworten und ein Toast soll dies zeigen.
Mein Problem, ich weiß nicht wie ich mit einer Hashmap die korrekte Frage mit dem richtigen Button-druck zuordne und diese dann auch kontrolliert wird ob dieser Button-druck auch stimmt.
Ich hoffe ihr könnt mir helfen.
Java-Code:
import java.util.HashMap;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener{
private TextView question;
private Button bTrue, bFalse;
private int currentQuestion;
private String[] questions = new String[5];
int index;
boolean answer1 = true;
boolean answer2 = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
bTrue = (Button) findViewById(R.id.bTrue);
bFalse = (Button) findViewById(R.id.bFalse);
bTrue.setOnClickListener(this);
bFalse.setOnClickListener(this);
question = (TextView) findViewById(R.id.tvQuestion);
currentQuestion = -1;
chooseQuestion();
}
private void chooseQuestion() {
questions[index=1] = "Wurde Wolfgang Amadeus Mozart in Österreich geboren?";
questions[index=1] = "Ist die Sonne 5Mrd Jahre alt";
questions[index=2] = "Dürfen Priester heiraten?";
questions[index=2] = "Ist Luxenburg eine Weltmacht?";
questions[index=1] = "Ist Wien die Hauptstadt Österreichs?";
currentQuestion++;
if(currentQuestion == questions.length)
currentQuestion = 0;
// show question
question.setText(questions[currentQuestion]);
}
@SuppressWarnings("unused")
private boolean isHashMap() {
HashMap<String[], Boolean>antwort= new HashMap<String[], Boolean>();
antwort.put(questions, answer1);
antwort.put(questions, answer2);
return true || false;
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.bTrue:
if(isHashMap())
if(index==1 && answer1==true) {
Toast.makeText(this, "Great! Well Done!
", Toast.LENGTH_SHORT).show();
chooseQuestion();
}else{
Toast.makeText(this, "Wrong! Try again", Toast.LENGTH_SHORT).show();
}
chooseQuestion();
break;
case R.id.bFalse:
if(isHashMap())
if(index==2 && answer2==true) {
Toast.makeText(this, "Great! Well Done!
", Toast.LENGTH_SHORT).show();
chooseQuestion();
}else{
Toast.makeText(this, "Wrong! Try again", Toast.LENGTH_SHORT).show();
}
chooseQuestion();
break;
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
ich bin noch ein Anfänger und ich wollte mit einer kleinen leichten Übung beginnen. Leider stellt sich fest, das diese leichte Übung eine schwere und steinige ist.
Übung: Ich wollte eine Quiz-App machen mit zwei Button(True & False) und dann noch ein TestView für die Fragen. Leider funktioniert die App nicht wie ich mir sie vorstelle. Also es wird eine Frage gestellt und mit einen Button-druck (True & False) soll ich die Frage richtig beantworten und ein Toast soll dies zeigen.
Mein Problem, ich weiß nicht wie ich mit einer Hashmap die korrekte Frage mit dem richtigen Button-druck zuordne und diese dann auch kontrolliert wird ob dieser Button-druck auch stimmt.
Ich hoffe ihr könnt mir helfen.
Java-Code:
import java.util.HashMap;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener{
private TextView question;
private Button bTrue, bFalse;
private int currentQuestion;
private String[] questions = new String[5];
int index;
boolean answer1 = true;
boolean answer2 = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
bTrue = (Button) findViewById(R.id.bTrue);
bFalse = (Button) findViewById(R.id.bFalse);
bTrue.setOnClickListener(this);
bFalse.setOnClickListener(this);
question = (TextView) findViewById(R.id.tvQuestion);
currentQuestion = -1;
chooseQuestion();
}
private void chooseQuestion() {
questions[index=1] = "Wurde Wolfgang Amadeus Mozart in Österreich geboren?";
questions[index=1] = "Ist die Sonne 5Mrd Jahre alt";
questions[index=2] = "Dürfen Priester heiraten?";
questions[index=2] = "Ist Luxenburg eine Weltmacht?";
questions[index=1] = "Ist Wien die Hauptstadt Österreichs?";
currentQuestion++;
if(currentQuestion == questions.length)
currentQuestion = 0;
// show question
question.setText(questions[currentQuestion]);
}
@SuppressWarnings("unused")
private boolean isHashMap() {
HashMap<String[], Boolean>antwort= new HashMap<String[], Boolean>();
antwort.put(questions, answer1);
antwort.put(questions, answer2);
return true || false;
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.bTrue:
if(isHashMap())
if(index==1 && answer1==true) {
Toast.makeText(this, "Great! Well Done!
chooseQuestion();
}else{
Toast.makeText(this, "Wrong! Try again", Toast.LENGTH_SHORT).show();
}
chooseQuestion();
break;
case R.id.bFalse:
if(isHashMap())
if(index==2 && answer2==true) {
Toast.makeText(this, "Great! Well Done!
chooseQuestion();
}else{
Toast.makeText(this, "Wrong! Try again", Toast.LENGTH_SHORT).show();
}
chooseQuestion();
break;
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}