2014-03-19 1 views
-2

누구든지이 난수 생성기에 대한 최대 값 (줄 15, 여기서 .nextInt(1000))의 값으로 내 입력/EditText를 사용하는 방법을 말해 줄 수 있는지 궁금 해서요. . 그것을하는 방법을 질문까지 어떤 도움을 크게 감사입력을 참조 : (

import java.util.Random; 
import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 

public class MainActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    final TextView textOne = (TextView) findViewById(R.id.textView1); 
    Button pushMe = (Button) findViewById(R.id.button1); 
    pushMe.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      String randText = ""; 
      // TODO Auto-generated method stub 
      Random randGen = new Random(); 
      int rando = randGen.nextInt(1000) + 1; 
      randText = Integer.toString(rando); 
      textOne.setText(randText); 
     } 
    }); 
} 
+1

좀 더 구체적으로 입력 할 수 있습니까? EditText는 어디에 있고 15 행은 무엇입니까? – Kunu

+0

activity_main xml을 게시 할 수 있습니까? –

답변

0

당신이 android:id="@+id/editText1"과 레이아웃에 글고있는 경우,이 하나 개의 방법이 될 것입니다!

@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    final TextView textOne = (TextView) findViewById(R.id.textView1); 
    final EditText editText = (EditText) findViewById(R.id.editText1); 

    Button pushMe = (Button) findViewById(R.id.button1);   
    pushMe.setOnClickListener(new View.OnClickListener() 
     { 
      @Override 
      public void onClick(View v) 
      { 
       Random randGen = new Random(); 
       String randText = ""; 
       int max = 0; 

       String input = editText.getText().toString(); 

       try 
       { 
        max = Integer.parseInt(input); 
        int rando = randGen.nextInt(max) + 1; 
        randText = Integer.toString(rando); 
       } 
       catch (IllegalArgumentException e) 
       { 
        randText = "Invalid input"; 
       } 

       textOne.setText(randText); 
      } 
     } 
    ); 
} 

있음을 유의하시기 바랍니다 catch (IllegalArgumentException e)IllegalArgumentException 그 둘을 잡을 것입니다.을 던질 수 있으며 Integer.parseInt()이 던질 수있는 NumberFormatException을 던질 수 있습니다.