2014-10-25 2 views
2

버튼을 클릭 할 때마다 자바에서 rng를 사용하려고하지만이를 클릭 할 때마다 프로그램이 충돌하고 나에게 다음과 같은 오류 제공 :null 객체 참조에서 가상 메소드 'int java.util.Random.nextInt (int)'호출 시도 [Android]

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.util.Random.nextInt(int)' on a null object reference 
at me.test.first.MainActivity.onGenPress(MainActivity.java:25) 

버튼을 눌러 방법

public void onGenPress(View v){ 
     TextView tv = (TextView) findViewById(R.string.copper); 
     int number = 1 + dice.nextInt(rollProgressMA); 
     co.copper += number; 
     tv.setText("Copper: " + co.copper + " + " + number); 
} 
클래스에 참여

개체

CoinTracker co = new CoinTracker(); 
RollProgress rpo = new RollProgress(); 
private Random dice; 
private int rollProgressMA = rpo.rollProgress; 

RollProgress 클래스의 Int 값

public int rollProgress = 1; 

미리 솔루션을 해결해 주셔서 감사합니다.

답변

6

private Random dice;

나는 당신이 dice.nextInt(rollProgressMA);에서 사용하기 전에 dice 변수를 초기화하는 코드를 볼 수 없습니다.

private Random dice = new Random();

+0

내가 실제로 그 전에 시도하고 작동하지 않았다

은 그냥 선언을 변경합니다. 그냥 호기심에서 벗어나, 무작위 주사위와 어떻게 다른가? – Tertles

+1

@Tertles'private Random dice;'이 변수는 private Random dice = null;과 같습니다.이 변수를 사용하기 전에 랜덤 인스턴스를 할당해야합니다. – Eran

+0

내 무지가 사과 드리며, 무작위 문제가 해결되어 예외가 변경되었습니다. 감사합니다! :-) – Tertles

관련 문제