2014-01-25 3 views
1

ImageViews를 보유하고있는 TabWidget이 있습니다. TabWidget이 사용하는 FrameLayout은 HorizontalScrollView 안에 내용을 표시하기 때문에 스크롤을 통해 여러 ImageView를 볼 수 있습니다.Android에서는 현재 탭의 콘텐츠를 어떻게 가져올 수 있습니까?

enter image description here

나는 탭의 컨텐츠 내에서 항목과 상호 작용해야합니다. 좀 더 구체적으로 말하면, 배열 요소가 있습니다. 가장 안쪽의 FrameLayout의 자식을 가져 와서 태그를 비교하여 배열의 요소와 비교해야합니다. 경기가있는 경우 배경을 변경해야합니다. 아이들을 돌면서 배경을 바꾸면 어떻게해야하는지 알 수 있습니다. ImageViews에 문제가있어서 이미지를 순환 할 수 있습니다.

주의하십시오 : 나는 레이아웃 일하고 있어요 내가 상속했는데 정말 "다시"시간이 없어 아무것도 난 정말 ImageView는 것 먼저 ID를 가정 할

답변

2

로하지 않는 한 : firstimage, 시도해보십시오 :

TabHost th = (TabHost) findViewById(android.R.id.tabhost); 
ImageView iv = (ImageView) th.getCurrentView().findViewById(R.id.firstimage); 
+0

나는 getTabContentView()를 사용하여 _was_했습니다. 나는 당신의 대답에 따라'getCurrentView()'로 바꾸었다. 이제는 아이들의 수를 말하면서 그것들을 순환시킬 수 있습니다 :'ViewGroup tabContent = (ViewGroup) tabHost.getCurrentView();' – dcp3450

+0

알다시피, 나는 같은 구조를 기반으로하는 앱에서 열심히했습니다. 당신이 게시했지만 내 경우에는 모든 탭이 하나의 뷰 (TextView)를 가지고 있으므로 적어도 많은 뷰를 기반으로 작업하는 방법을 알고 있다면 문제를 해결하려고했습니다. – nKn

+1

예 , 지금 나는 아이들을 얻을 수있다. 나는'tabContent.getChildCount() -> tabContent.getChildAt [x]'를 기반으로 for 루프를 할 수있다. – dcp3450

관련 문제