2016-11-20 2 views
1

Я новичок в программировании и пытаюсь написать свое первое приложение, в котором показывают 2 числа сверху и снизу. Число в нижней части будет продолжать рандомизировать каждую секунду, и вам нужно щелкнуть по ней, когда число будет соответствовать числу сверху.Как сравнить 2 текстовое значение и закодировать код, если они одинаковы в Android Studio

int min = 1, max = 10; 
     TextView ques = (TextView) findViewById(R.id.NumQues); 
     Random r = new Random(); 
     int Rnum = r.nextInt(max - min + 1) + min; 
     ques.setText("" + Rnum); 

     final Handler h = new Handler(); 
     final Runnable run = new Runnable() { 
      int count = 0; 

      @Override 
      public void run() { 
       int min = 1, max = 10; 
       TextView ans = (TextView) findViewById(R.id.NumAns); 
       Random r = new Random(); 
       int Rnum = r.nextInt(max - min + 1) + min; 
       ans.setText("" + Rnum); 

       h.postDelayed(this, 1000); 
      } 
     }; 
     h.postDelayed(run, 1000); 
    } 

Это мой код макета

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="101dp" 
     android:layout_alignParentTop="true" 
     android:id="@+id/NumQues" 
     android:layout_centerHorizontal="true" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginBottom="170dp" 
     android:onClick="Compare" 
     android:id="@+id/NumAns" /> 

</RelativeLayout> 

Проблема, с которой я столкнулся это я не могу сравнить два числа. Я пытался использовать

`if (ques.getText().toString().equals(ans.getText().toString()))` 

но есть ошибка «не удается разрешить символ анс»

+0

Где находится этот 'if'? Не вижу его в вашем коде. –

ответ

0

Попробуйте это:

Проблема заключается в том, что вы сравниваете значение, перед тем как инициализировать вид анс текста.

int min = 1, max = 10; 
    TextView ques = (TextView) findViewById(R.id.NumQues); 
    TextView ans = (TextView) findViewById(R.id.NumAns); 

    //add your comparing if clause after this 

    Random r = new Random(); 
    int Rnum = r.nextInt(max - min + 1) + min; 
    ques.setText("" + Rnum); 

    final Handler h = new Handler(); 
    final Runnable run = new Runnable() { 
     int count = 0; 

     @Override 
     public void run() { 
      int min = 1, max = 10; 

      Random r = new Random(); 
      int Rnum = r.nextInt(max - min + 1) + min; 
      ans.setText("" + Rnum); 


      h.postDelayed(this, 1000); 
     } 
    }; 
    h.postDelayed(run, 1000); 
} 
+0

Большое вам спасибо –

0

Объявить свой TextView анс после TextView Ques. То, что вы сделали, не является предпочтительным способом инициализации представления.

Смежные вопросы