탭1->탭2 전환은 잘됩니다. 화면 갱신도 잘되고요.
탭1은 버튼 처리가 잘되는데 탭2은 버튼 처리가 전혀 되지 않습니다.
혹시 getId가 중복되서 못받나 싶어 design_menu_channel_sub를 하나더 만들어서
처리했는데도 동일한 증상을 보이더라고요... 도와주세요ㅠㅠ!!
OnClickListener<--이쪽이 문제 입니다. 탭2에서 반응을 하지 않습니다.
-java
mChannelActivate =(ToggleButton)findViewById(R.id.tgChannelActivate);
mChannelSetting = (LinearLayout)findViewById(R.id.llChannelSetting);
mTab_host = (TabHost)findViewById(R.id.tabsChannel);
mTab_host.setup();
ts1 = mTab_host.newTabSpec("Ch1");
ts1.setIndicator("Ch1");
ts1.setContent(R.id.tab1);
mTab_host.addTab(ts1);
ts2 = mTab_host.newTabSpec("Ch2");
ts2.setIndicator("Ch2");
ts2.setContent(R.id.tab2);
mTab_host.addTab(ts2);
for(int i = 0; i < mTab_host.getTabWidget().getChildCount(); i++) {
mTab_host.getTabWidget().getChildAt(i).getLayoutParams().height = 100;
}
mTab_host.setCurrentTab(0);
mTabChangeListener = new OnTabChangeListener() {
@Override
public void onTabChanged(String tabId) {
if(tabId.equals("Ch1")){
}
else if(tabId.equals("Ch2")){
}
}
};
mOnClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
switch(v.getId())
{
case R.id.tgChannelActivate:
if(mChannelActivate.isChecked()){
if(mTab_host.getCurrentTabTag().equals("Ch1")){
}
if(mTab_host.getCurrentTabTag().equals("Ch2")){
}
}else{
}
break;
case R.id.tgChannelActivate:
if(mChannelActivate.isChecked()){
if(mTab_host.getCurrentTabTag().equals("Ch1")){
}
if(mTab_host.getCurrentTabTag().equals("Ch2")){
}
}else{
}
break;
}
}
};
-.xml
tab xml
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</TabWidget>
<LinearLayout
android:id="@+id/tab1" <---tab2도 동일.
android:layout_width="match_parent"
android:layout_height="match_parent" >
<include
android:layout_width="match_parent"
android:layout_height="wrap_content"
layout="@layout/design_menu_channel_sub" />
</LinearLayout>
-design_menu_channel_sub.xml
각종 버튼 및 라디오 버튼 등...