사용 예를 들어 http://developer.android.com/reference/android/widget/TabHost.OnTabChangeListener.html
:
mTabHost.setOnTabChangedListener(new OnTabChangeListener(){
@Override
public void onTabChanged(String tabId) {
if(TAB_1.equals(tabId)) {
//Do first activity task
}
if(TAB_2.equals(tabId)) {
//Do the other task...so on
}
}});
편집 됨 : 특정 탭을 클릭 할 것을보고 싶다면
, 당신은 추가해야 Listener를 TabHost가 아닌 탭 자체에 연결하십시오.
탭 구현 전경의 계층이다
TabHost
TabWidget
(tab)
(tab)
FrameLayout
탭을 호출하여 실행시에 첨가되어 tabHost.addTab (tabHost.newTabSpec (""));
다음과 같이 호출하여 개별 탭에 대한 핸들을 얻을 수 있습니다. getTabWidget(). getChildAt (4);
본질적으로, OnClickListener를 TabWidget의 하위에 추가합니다. 이제 개별 탭에서 클릭 수를 선택할 수 있습니다. 그러나 이는 탭을 클릭 할 때 내용을 변경하는 기본 동작보다 우선합니다. 따라서 콘텐츠를 변경하려면 OnClickListener가 대신 콘텐츠를 변경해야합니다. 이것이 당신이 그냥 .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
를 사용
tabHost.addTab(tabHost.newTabSpec("tab1")
.setIndicator("First Text")
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
.setContent(new Intent(this, class1.class)));
tabHost.addTab(tabHost.newTabSpec("tab2")
.setIndicator("Second Text")
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
.setContent(new Intent(this, class2.class)));
를 원하는 것입니다 내 생각
final String myTabTag = "My Tab";
final int myTabIndex = 3;
getTabHost().addTab(getTabHost().newTabSpec(myTabTag));
getTabWidget().getChildAt(myTabIndex).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (getTabHost().getCurrentTabTag().equals(myTabTag)) {
getTabHost().setCurrentTab(myTabIndex);
}
}
});
자세한 문제 사양을 기입하십시오. 탭 새로 고침을 원할 때, 사용자가 탭을 클릭 할 때 특정 시간 간격으로 말합니까? –
예. 각 탭을 클릭하면 활동을 새로 고침합니다. – unnamed