안드로이드 개발 질문/답변
(글 수 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으로 이동하는것이 목적입니다만~




intsubject=3;65.66.Intent manytrue =newIntent(simang.this, Manytrue.class);67.manytrue.putExtra("subject", subject);68.69.Intent manyfalse =newIntent(simang.this, Manyfalse.class);70.manyfalse.putExtra("subject", subject);71.72.Intent go =newIntent(simang.this, What.class);73.startActivity(go);