현재 탭호스트 사용중이구
위젯5개, 프레임레이아웃 안에 에딧텍스트 5개 있습니다.
인텐트와 별다른 상속없이 메인xml에 만들었구 메인activity에 탭호스트의 아이디를 받아와 구현했습니다.
현재 setOnTabChangedListener를 이용하여 위젯을 누르면 원하는 사이즈만큼 호스트뷰를 불르는데
선택된 위젯을 다시 누르면 안되더라구요..그래서
tabHost.setOnTouchListener(new myTabTouch());
와
class myTabTouch implements View.OnTouchListener{
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
tabHost.getLayoutParams().height = 145;
Toast.makeText(TimeAdd.this, "행", Toast.LENGTH_SHORT).show();
}
return false;
}
}
를 코딩하여 탭 호스트의 height를 145로 만들려고 하는데 이상하게 Toast는 처리되고 사이즈는 변하지않네요...;;;;;;;;;분명 setOnTabChangedListener를 에서도 tabHost.getLayoutParams().height를 이용했는데 말이죠.. 어떻게 하면 좋을까요?..
( 사실 이런식으로도 구현을 해봤을땐 사이즈 변환이 잘됐습니다. 하지만 setOnTabChangedListener와의
중복된 처리를 해결하지 못하여 위와같이 해보려는데 안됐어용 ㅠㅠ...
혹시 getChildAt(index)와 같이 명시적으로 지정을 해주지않아서 그럴까요?..
tabHost.getTabWidget().getChildAt(0).setOnTouchListener(new myTabTouch());
tabHost.getTabWidget().getChildAt(1).setOnTouchListener(new myTabTouch());
tabHost.getTabWidget().getChildAt(2).setOnTouchListener(new myTabTouch());
tabHost.getTabWidget().getChildAt(3).setOnTouchListener(new myTabTouch());
tabHost.getTabWidget().getChildAt(4).setOnTouchListener(new myTabTouch());