안드로이드 개발 질문/답변
(글 수 45,052)
TabHost 구현시 다른 액티비티를 부를 때, long 타입의 변수값을 함께 보내고 싶습니다.
위 코드를 보이시면
tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("분류 ").setContent(new Intent(ActivityName))); 를 사용해서
다른 액티비티로 전환은 아주 잘 되고 있습니다.
저는 다른 액티비로 전화할 때, id_value 값다 전달하고 싶습니다.
감사합니다.
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 다른 액티비티에서 보낸 값을 받기위해서 Intent i = getIntent(); String ActivityName = i.getStringExtra("activity"); long id = 0; long id_value = i.getLongExtra("SendData", id); // id_value 값은 1을 받아온다. // 다른 액티비티로 값을 전달하기 위해서 i.putExtra("SendData", id_value); try{ Log.e("ActivityName",ActivityName); }catch(Exception e){ Log.e("ActivityName","null"); } if(ActivityName==null){ ActivityName="Type"; } final TabHost tabHost = getTabHost(); tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("분류 ").setContent(new Intent(ActivityName))); tabHost.addTab(tabHost.newTabSpec("tab2").setIndicator("설정").setContent(new Intent(this, DbInsert.class))); }
위 코드를 보이시면
tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("분류 ").setContent(new Intent(ActivityName))); 를 사용해서
다른 액티비티로 전환은 아주 잘 되고 있습니다.
저는 다른 액티비로 전화할 때, id_value 값다 전달하고 싶습니다.
감사합니다.
그렇게 하지 마시고...
해당 인텐트를 전역변수로 놓으시구요...
그 인텐트에 putExtra를 통해서 전달하시면됩니다.
다만 이럴경우 초기화등의 문제가 동반될 수 있으므로 잘 관리하셔야 합니다.
(예를들면 기존 값이 남아서 계속 전달된다던가 ...)