0
내 프로젝트의 탭을 구현해야합니다 .i 레이아웃이 있는데 여기에는 두 개의 탭과 버튼이 있습니다. 두 개의 탭에 대해 두 개의 활동과 버튼이 각각 다른 활동을합니다. 것은 첫 번째 탭에 버튼의 결과를 표시하고 있습니다. 이제 내가 원하는 것은 첫 번째 탭을 누르면 첫 번째 탭 의도가 표시되어야한다는 것입니다. 또는 탭을 변경하면 탭의 해당 의도가 표시됩니다. 동일한 탭에서 다른 활동을 호출하는 방법
나는 다음 코드를 시도,하지만 당신은 버튼 AddNewTicketActivity는 TAB1에 표시됩니다 클릭하면 버튼을 클릭 한 후, 때마다 나는, 버튼의 의도는, 내가 알고있는 것처럼public class TabLayoutUsingTabChangeEventActivity extends TabActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final TabHost tabHost = (TabHost)findViewById(android.R.id.tabhost);
final TabHost.TabSpec sp1 = tabHost.newTabSpec("TAB1");
TabHost.TabSpec sp2 = tabHost.newTabSpec("TAB2");
//Creating First Tab
Intent intent1 = new Intent(this, Tab1Activity.class);
sp1.setIndicator("TAB1").setContent(intent1);
tabHost.addTab(sp1);
//Creating Second Tab
Intent intent2 = new Intent(this, Tab2Activity.class);
sp2.setIndicator("TAB2").setContent(intent2);
tabHost.addTab(sp2);
//Tab Changed Event
tabHost.setOnTabChangedListener(new OnTabChangeListener(){
@Override
public void onTabChanged(String tabId) {
Log.i("TabId :", tabId);
if(tabId.equals("TAB1")){
Log.i("TAB1", "TAB1 Changed");
Intent intent1 = new Intent().setClass(getApplicationContext(), Tab3Activity.class);
sp1.setIndicator("TAB1").setContent(intent1);
tabHost.setCurrentTab(0);
}
}
});
Button addNewButton = (Button)findViewById(R.id.add_new_ticket_btn);
addNewButton.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Intent in = new Intent().setClass(getApplicationContext(), AddNewTicketActivity.class);
sp1.setContent(in);
tabHost.setCurrentTab(0);
//startActivity(in);
}
});
}
}
onTabChanged 방법이 을 시도,하지만 난 버튼을 추가하려는 반면, 단지 내가 TAB2 오전 때, 나는 TAB1에 온이 버튼을 클릭 한 후 addNewTicket 버튼을 클릭 할 수 있어요 각 탭을 클릭하십시오. – Romi
버튼이 모든 탭에서 AddNewTicket을로드하고 코드를 다음과 같이 수정하려면 Intent = new Intent(). setClass (getApplicationContext(), AddNewTicketActivity.class); sp1.setContent (입력); tabHost.setCurrentTab (0); – user994886
버튼이 AddNewTicket을 현재 탭에로드하고 버튼 클릭 리스너에서이 버튼을 사용하려면 이전 메모를 무시하십시오. tabHost, setCurrent (TabHost.getCurrentTab()) – user994886