안드로이드 개발 질문/답변
(글 수 45,052)
D:\android\Testcheaker\src\com\dulgi\Simang\simang.java
Button kor = (Button)findViewById(R.id.kor); kor.setOnClickListener(new OnClickListener() { public void onClick(View v) { int subject=0; Intent manytrue = new Intent(simang.this, Manytrue.class); manytrue.putExtra("subject", subject); Intent manyfalse = new Intent(simang.this, Manyfalse.class); manyfalse.putExtra("subject", subject); Intent go = new Intent(simang.this, What.class); startActivity(go); } }); Button math = (Button)findViewById(R.id.math); math.setOnClickListener(new OnClickListener() { public void onClick(View v) { int subject=1; Intent manytrue = new Intent(simang.this, Manytrue.class); manytrue.putExtra("subject", subject); Intent manyfalse = new Intent(simang.this, Manyfalse.class); manyfalse.putExtra("subject", subject); Intent go = new Intent(simang.this, What.class); startActivity(go); } }); Button eng = (Button)findViewById(R.id.eng); eng.setOnClickListener(new OnClickListener() { public void onClick(View v) { int subject=2; Intent manytrue = new Intent(simang.this, Manytrue.class); manytrue.putExtra("subject", subject); Intent manyfalse = new Intent(simang.this, Manyfalse.class); manyfalse.putExtra("subject", subject); Intent go = new Intent(simang.this, What.class); startActivity(go); } }); Button tamgu = (Button)findViewById(R.id.tamgu); tamgu.setOnClickListener(new OnClickListener() { public void onClick(View v) { int subject=3; Intent manytrue = new Intent(simang.this, Manytrue.class); manytrue.putExtra("subject", subject); Intent manyfalse = new Intent(simang.this, Manyfalse.class); manyfalse.putExtra("subject", subject); Intent go = new Intent(simang.this, What.class); startActivity(go); } });---값을 전달하는 액티비티---
D:\android\Testcheaker\src\com\dulgi\Simang\Manytrue.java
Button next = (Button)findViewById(R.id.next); next.setOnClickListener(new OnClickListener() { public void onClick(View v) { Intent intent = getIntent(); int subject = intent.getIntExtra("subject",0); if(subject==0) { Intent go = new Intent(Manytrue.this, Koract.class); startActivity(go); } else if(subject==1) { Intent go = new Intent(Manytrue.this, Mathact.class); startActivity(go); } else if(subject==2) { Intent go = new Intent(Manytrue.this, Engact.class); startActivity(go); } else { Intent go = new Intent(Manytrue.this, Tamact.class); startActivity(go); } } });---값을 전달받는 액티비티---
값을 전달하는 simang 액티비티에서 Manytrue로 전달하는 버튼 명령을 받고
Manytrue 액티비티에서 전달받은 값에 따라 또 명령을 달리 주려고하는데 전혀 되지않고 getIntent의 기본값( 0 )으로만 받게됩니다.
한마디로 전달을 제대로 못받는것같은데요 -_-;;
이 상황이 전달을 받는 명령을 Oncreate자체에서 받는게 아닌 On Click에서 받아버려서 값을 못받는것인지요?
만약 Oncreate에서 받아야만 한다는 상황이면 Oncreate에서 받은후에 어떻게 On Click에서 다시 그 값을 사용할수 있을까요?
고수님들의 답변 부탁드립니다!
2010.08.26 22:44:50
아아 simang이라는 액티비티에서는 Manytrue나 Manyfalse로 이동하기위해서 그 두 intent에는 startActivity(go)를 추가하지 않았습니다-_-;
startActivity는 값을 넘기는 용도가아닌 activity를 바꾸기위한 것이 아닌가요?
startActivity(go)를 //
manytrue.putExtra(
"subject"
, subject);//와 //
manyfalse.putExtra(
"subject"
, subject);//
밑에도 넣으면 Manytrue 액티비티로 넘어가지 않을까요?
제가 원하는것은 값을 전달하는 애티비티에서 Manytrue와 Manyfalse에 값을 전달하고 액티비티의 이동은 What으로 이동하는것이 목적입니다만~
int
subject=
3
;
65.
66.
Intent manytrue =
new
Intent(simang.
this
, Manytrue.
class
);
67.
manytrue.putExtra(
"subject"
, subject);
68.
69.
Intent manyfalse =
new
Intent(simang.
this
, Manyfalse.
class
);
70.
manyfalse.putExtra(
"subject"
, subject);
71.
72.
Intent go =
new
Intent(simang.
this
, What.
class
);
73.
startActivity(go);