2012-08-22 5 views
1

여기에 무슨 문제가 있습니까?Android 무작위 숫자 및 edittext

난수는 정상적으로 작동합니다.

부품 번호를 확인하는 것도 효과가 있습니다.

하지만 임의로 선택한 동일한 번호를 입력하면 항상 "Toast Bad"입니다.

코드 : http://pastebin.com/0pdySnW9

미안하지만 난 여기에 코드를 붙여 넣을 수 없습니다.

답변

0

public class MainActivity extends Activity implements OnClickListener { 

     private TextView display; 
     private Button ok; 
     public EditText et; 
     private int random; //note this is now a member variable 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 
      ok = (Button) findViewById(R.id.button1); 
      ok.setOnClickListener(this); 
      display = (TextView) findViewById(R.id.textView1); 
      et = (EditText) findViewById(R.id.etNumbers); 
       random = random(); 
      display.setText("Random Number:" + random); // Show the random number 

     } 

     // ************RANDOM****************************** 
     public static int random() { 
      Random generator = new Random(); 

      int x = generator.nextInt(100); 
      return x; 
     } 

     // ************************************************ 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 

      int numberEntered = -1; 
      try { 
       numberEntered = Integer.parseInt(et.getText().toString()); 
      } catch (NumberFormatException nfe) { 
       Toast.makeText(et.getContext(), "That's not a number!", 
         Toast.LENGTH_LONG).show(); 
      } 
      if (random == numberEntered) { 
       Toast.makeText(et.getContext(), "Great!", Toast.LENGTH_LONG).show(); 
      } else { 
       Toast.makeText(et.getContext(), "Bad!", Toast.LENGTH_LONG).show(); 
      } 

     } 

} 
+0

오 ... 고맙습니다 ... 폴란드에서 자고 있습니다. 오전 0시 28 분입니다. – Defuzer

1

onClick 방법에서 다른 난수를 실제로 생성하고 있습니다.

그래서 입력 한 숫자는 화면에 표시되는 숫자가 아니기 때문에 임의의 숫자와 같지 않습니다.

달성하려는 내용에 따라 ... 32 행을 제거하고 random을 전역 변수로 지정하십시오. 당신의 onclick을 당신이 그것을 변경하지 않고 활동을 통해 액세스 할 수 있도록 당신은 당신의 확률 변수 amember 변수를 확인해야합니다

int random = random(); 

이 라인에 새로운 난수를 생성하는에서