2011-08-18 3 views
0

순환 게재 목록을 표시하는 사용자 정의 위젯을 만들었습니다. 내가 newsview.xml에 레이아웃을 선언 :Android : 하나의 레이아웃 선언에서 여러 위젯 인스턴스화

<?xml version="1.0" encoding="utf-8"?>  
<RelativeLayout 
      android:id="@+id/tblLink" 
      style="@style/newsviewstyle" 
      android:layout_alignParentBottom="true"> 

      <ImageView 
       android:id="@+id/newsviewimg" 
       style="@style/newsviewimgstyle" 
       android:layout_margin="5dp" /> 

      <TextView 
       android:id="@+id/newsviewtitle" 
       android:layout_toRightOf="@id/newsviewimg" 
       android:layout_marginTop="5dp" 
       android:layout_marginRight="5dp" 
       android:layout_marginBottom="5dp" 
       android:layout_width="fill_parent" 
       android:layout_height="50dp" 
       android:textColor="#000000" /> 
      <TextView 
       android:id="@+id/newsviewurl" 
       android:layout_toRightOf="@id/newsviewimg" 
       android:layout_below="@id/newsviewtitle" 
       android:layout_marginTop="5dp" 
       android:layout_marginRight="5dp" 
       android:layout_marginBottom="5dp" 
       android:layout_width="fill_parent" 
       android:layout_height="15dp" 
       android:textColor="#000000" /> 
     </RelativeLayout> 

생각은 내 main.xml에, 나는 각 항목 사이의 전환 애니메이션을 사용하고 싶습니다 ViewFlipper 있습니다. 위에서 선언 한 "n"개의 고유 항목을 어떻게 인스턴스화 할 수 있습니까? ViewFlipper에 추가 할 수 있습니다. 주요 액티비티 외부의 클래스에서 선언 된 레이아웃에 액세스 할 수있는 방법 (및 주 애플리케이션 (뷰 컨트롤러)이 포함 된 패키지 외부에서도 가능)

참고로 항목 목록을 수집하는 작업은 내 응용 프로그램의 주요 활동 외부의 컨트롤러에서 수행됩니다. 나중에 컨트롤러를 재사용 할 수 있도록 최대한 모든 것을 유지하고 싶습니다.

답변

1

위의 "n"개의 고유 항목을 어떻게 인스턴스화하여 ViewFlipper에 추가 할 수 있습니까?

Adapter과 동일한 방식으로 getLayoutInflater().inflate()을 사용하십시오. 사실 허니 콤의 경우이 바로 그 시나리오를 처리하기 위해 AdapterViewFlipper이 있습니다.

메인 액티비티 외부의 클래스에서 선언 된 레이아웃에 액세스 할 수 있고 (예 :보기 컨트롤러가 포함 된 메인 애플리케이션이 포함 된 패키지 외부에서도) 어떻게 액세스 할 수 있습니까?

죄송하지만이 문장은 나를 위해 구문 분석하지 않았습니다.

+0

높은 주문에서 Android 2.1을 타겟팅하고 싶으므로 3.0에 추가 된 항목은 현재 외면됩니다. 두 번째 요점은 코드의 최대 재사용을 목표로하므로 컨트롤러 클래스에 더 많이 전달할 수 있습니다. –

+1

@Mike D : 그건 당신이 그들 자신을 팽창시켜야한다는 것을 의미합니다. 별로 중요하지 않습니다. 그리고, 제가 염려하는 한, 활동 (또는 요즘 조각)은 컨트롤러 클래스입니다. – CommonsWare