2016-09-16 4 views
-1

어떻게 난수를 생성 한 다음 에뮬레이터로 보낼 수 있습니까?무작위로 생성 된 번호를 보냄

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.TextView; 

import java.util.Random; 

public class MainActivity extends AppCompatActivity{ 

    TextView number1; 

     public static void main(String[] args) { 

      Random generator = new Random(); 
      int number1 = generator.nextInt(13); 
     } 
    } 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 


     number1 = (TextView)findViewById(R.id.number1); 

     number1.setText(Float.toString(number1)); 
    } 
} 
+0

앱을 실행하면 어떻게됩니까? 화면에 뭐가 보이니? 오류가 있습니까? – ishmaelMakitla

+0

activity_main.xml에 무엇이 있습니까? –

+0

google에서 android dev 가이드 라인을 읽어야합니다. 그들은 정말로 좋다. –

답변

0

number 생성기를 onCreate() 메서드로 이동하고 main()을 제거하십시오. int 변수 이름도 변경해야합니다.

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

    Random generator = new Random(); 
    int number = generator.nextInt(13); 

    number1 = (TextView)findViewById(R.id.number1); 
    number1.setText(Integer.toString(number)); 
} 
0

난수가 생성되어 Main() 메소드의 컨텍스트에만 존재하는 int number1의 값으로 설정됩니다.

onCreate 메소드의 일부로 난수를 생성하십시오. (NB 테스트되지 않은 코드)

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

    Random generator = new Random(); 
    int myRandomInteger= generator.nextInt(13); 

    number1 = (TextView)findViewById(R.id.number1); 
    number1.setText(Integer.toString(myRandomInteger)); 
} 
0

당신은 main 방법 제거한다 - 라이프 사이클에 따라 - onCreate 메서드가 호출되며이 기간 동안 당신이 당신의 난수 생성기를 호출 할 수 있습니다 - 다음 반환 된 값을 설정 TextView에 그것을 시도주고이 도움이되는지 알려 주시기

public class MainActivity extends AppCompatActivity{ 

    TextView number1; 
    //removed the main function from here - 
    } 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     number1 = (TextView)findViewById(R.id.number1); 
     //call the method that gets a random number - and set this to the Text field 
     number1.setText(getRandomNumber()); 
    } 

    //I have moved the code from your main function into this "helper" method 
    private int getRandomNumber(){ 
     Random generator = new Random(); 
     int number1 = generator.nextInt(13); 
     return number1;  
    } 
} 

:

아래에 제안 된 변경을 참조하십시오.

관련 문제