안드로이드 개발 질문/답변
(글 수 45,052)
Intent i = new Intent(mainp.this, hel.class); public void onClick(View v) { switch((int)nowimg){ case 0: { i.putExtra("str", 0); //test startActivity(i); //test //Intent i2 = new Intent(mainp.this, into.class); //i2.putExtra("str", 0); //startActivity(i2); break; } case 1 : { i.putExtra("str", 1); startActivity(i); //Intent i2 = new Intent(mainp.this, into.class); //startActivity(i2); break; }
이거가 파일인텐트로 " 탭 "이 만들어진 곳으로 숫자를 넘겨줍니다.
public class hel extends TabActivity { /** Called when the activity is first created. */ public void paged(){ } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //String tt; //tt = getIntent().getExtras().getString("test"); //Toast t = Toast.makeText(getApplicationContext(),tt,Toast.LENGTH_LONG); //t.show(); //Log.e("test",tt);
final TabHost tabHost = getTabHost(); tabHost.addTab(tabHost.newTabSpec("into") .setIndicator("소개") .setContent(new Intent(this, into.class))); tabHost.addTab(tabHost.newTabSpec("program") .setIndicator("프로그램") .setContent(new Intent(this, program.class))); tabHost.addTab(tabHost.newTabSpec("reservation") .setIndicator("예약상담") .setContent(new Intent(this, reservation.class))); tabHost.addTab(tabHost.newTabSpec("faq") .setIndicator("자주하는질문") .setContent(new Intent(this, faq.class))); tabHost.addTab(tabHost.newTabSpec("way") .setIndicator("찾아오는 길") .setContent(new Intent(this, way.class))); Intent intent = getIntent(); int i; i=intent.getIntExtra("str", 0); i=intent.getIntExtra("str", 1); switch(i){ case 0: { Intent i0 = new Intent(hel.this, into.class); i0.putExtra("str", 0); startActivity(i0); break; } case 1: { Intent i0 = new Intent(hel.this, into.class); i0.putExtra("str", 1); startActivity(i0); break; } }
} }
여기서 아까 위에서 받은 숫자를 받아서 다시
into 라는 클래스에 숫자를 넘겨줍니다
그리고
public class into extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.into);
TextView tex = (TextView)findViewById(R.id.inText);
Intent intent = getIntent();
int i0;
i0=intent.getIntExtra("str", 0);
i0=intent.getIntExtra("str", 1);
if(0==i0 ){
tex.setText("dsancsadcascascacaca");
}
else if(1==i0){
tex.setText("dnfdcd");
}
else
tex.setText("dn");
}
}
이거가 그 hel에서 받은 값으로 실행해주는 into 부분 인데요...
문제는...
i0=intent.getIntExtra("str", 1);
이렇게 하시면 i0가 덮어씌워져서 작업에 의미가 없을텐데요..