Сравните TextView и EditText в затмении - PullRequest
0 голосов
/ 15 ноября 2011

У меня проблема, как сравнить textview и edittext, вот код

public class GameApps extends Activity implements View.OnClickListener {
/** Called when the activity is first created. */
TextView score;
TextView right;
TextView wrong;
TextView totalquestion;

TextView question;
EditText answer;

Button submit; 
Button exit;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.game);

    score = (TextView)findViewById(R.id.textView6);
    right = (TextView)findViewById(R.id.textView7);
    wrong = (TextView)findViewById(R.id.textView8);
    totalquestion = (TextView)findViewById(R.id.textView9);

    question = (TextView)findViewById(R.id.textView4);
    question.setText("banana");

    answer = (EditText)findViewById(R.id.editText1);

    submit = (Button)findViewById(R.id.button1);
    submit.setOnClickListener(this);

    exit = (Button)findViewById(R.id.button3);
    exit.setOnClickListener(this);


}

public void onClick(View v) {
    // TODO Auto-generated method stub
      **question.getText().toString();
      answer.getText().toString();
    if(v==submit){

        if(question.equals(answer)){
            Toast.makeText(this, "Right answer", Toast.LENGTH_LONG).show();
        }
        else Toast.makeText(this, "Wrong answer", Toast.LENGTH_LONG).show();
    }**
    if(v==exit){
        finish();
    }
}

}

У меня есть сравнительный ответ и вопрос, но он не совпадает, каждый раз, когда я сравниваю, всегда говорю неправильный ответ, как сравнить, любой может решить эту проблему ?? я запутался с этим: (

Ответы [ 3 ]

2 голосов
/ 30 мая 2014
if(question.getText().toString().equals(answer.getText().toString()))
  {           
      // do something       
  }           
else  {
      //do something
   }
1 голос
/ 15 ноября 2011
public void onClick(View v) 
{
        switch(v.getId())
        {
            case R.id.button1:
                if(question.getText().toString().equals(answer.getText().toString()))
                    Toast.makeText(v.getContext(),"Correct",Toast.LENGTH_LONG).show();
                else
                    Toast.makeText(v.getContext(),"Wrong",Toast.LENGTH_LONG).show();
                break;
            case R.id.button3:
                finish();
                break;
        }
}
0 голосов
/ 15 ноября 2011

Вы сравниваете объект TextView с объектом EditText.

Вместо этого вам нужно сравнить их содержимое .

То есть

if(question.equals(answer))

будет

String q = question.getText().toString();
String a = answer.getText().toString();
if(q.equals(a))
...