2013-08-31 2 views
0

임의 생성 된 정수를 가져 와서 다른 활동으로 전달하는 방법은 무엇입니까?임의로 생성 된 정수를 의도에 전달

나는 int의 값을 보지 못하기 때문에 인 텐트를 사용해 왔지만 지정할 수는 없다. 기본적으로

,

int w = numGen.nextInt(7); 

어떻게 텐트에 w을 넣고 다른 활동에 사용합니까? 에서

답변

1
Intent intent = new Intent(this, AnotherActivity.class); 
intent.putExtra("myrandom", yourRandomVal); 
startActivity(this, intent); 

다른 활동의 onCreate() :

int passedRandom = getIntent().getIntExtra("myrandom"); 

것은 당신이 const를 선언 다양한 putExtra()를 사용하여 의도에 엑스트라를 추가 한 다음 클래스에서 getExtra()

+0

나는 데 생각 문제가 보려면, getIntExtra는 이름과 디폴트 값을 모두 요구된다는 점이다 . 내 활동에서 매번 무작위로 생성되기 때문에 값이 무엇인지 알지 못합니다. 새로운 액티비티로 옮길 때 분명히 "w"를 사용하여 값을 정의 할 수 없습니다. 언제든지 감사합니다. – user2736219

+0

항상 값을 전달하면 기본값을 신경 쓰지 않아야합니다. 항상 값을 전달한다는 사실을 알기 위해 기본값으로 0 또는 아무것도 전달하십시오. –

+0

그래서 만약 내가 intent.putExtera ("myrandom", w)를 처음으로 이해하고 passedRandom = getIntent(). getIntExtra ("myrandom", 0) 다른 활동 ... 나는 미안하다. 이. – user2736219

0

를 사용하여 얻을 수있다 키 :

public static final String RANDOM_INT = "random_int";  

그것은 당신의 의도에 추가로 : SomeActivity에서

int someInt = 5; 
Intent intent = new Intent(this, SomeActivity.class); 
intent.putExtra(RANDOM_INT, someInt); 
startActivity(someInt); 

, 그래서 같은 값을 얻을 :

int obtainedInt = -1; 
Bundle extras = getIntent().getExtras(); 
if(extras.containsKey(OriginalActivity.RANDOM_INT)){ 
    obtainedInt = extras.getInt(OriginalActivity.RANDOM_INT);  
} 
관련 문제