2011-08-18 62 views
0

我正在創建一個自定義小部件以顯示項目的旋轉列表。我已經宣佈了佈局newsview.xmlAndroid:從一個佈局聲明實例化多個小部件

<?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中。

使用getLayoutInflater().inflate(),就像您在自定義Adapter中那樣。事實上,在Honeycomb上,有AdapterViewFlipper來處理這種情況。

我將如何訪問從主活動外的類聲明的佈局(並且還包含主應用程序的包,即視圖控制器)。

對不起,但這句話沒有爲我解析。

+0

來自高層的訂單需要針對Android 2.1,所以在3.0中添加的任何內容現在都已發佈。至於第二點,我的目標是最大限度地重用代碼,所以我越能夠進入控制器類越好。 –

+1

@Mike D:這只是意味着你必須自己膨脹它們。沒什麼大不了的。而且,就我而言,活動(或現在的片段)*是控制器類。 – CommonsWare