2010-11-21 77 views
0

我是新來的Java編程/ Android開發 - 但我一直在通過幾個例子,並一直試圖建立一個「混合搭配」應用程序與3滾動廚房的意見。Android圖庫視圖 - 如何設置資源?

我已經創建了3個庫視圖的相對佈局,並定義了3個數組來包含圖像列表。

我的問題是,我似乎無法讓ImageAdapter爲每個圖庫視圖設置正確的圖像資源(它在所有3個圖庫中複製相同的圖像)。

如果我可以只張貼代碼中的相關章節:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 

    setContentView(R.layout.main); 

    Gallery gTop = (Gallery) findViewById(R.id.gallery_top); 
    Gallery gMid = (Gallery) findViewById(R.id.gallery_mid); 
    Gallery gEnd = (Gallery) findViewById(R.id.gallery_end); 

    gTop.setAdapter(new ImageAdapter(this)); 
    gMid.setAdapter(new ImageAdapter(this)); 
    gEnd.setAdapter(new ImageAdapter(this)); 
} 

然後另一個類設置的資源(硬編碼):

public View getView(int position, View convertView, ViewGroup parent) { 
     ImageView i = new ImageView(mContext); 
     i.setImageResource(mEndThumbIds[position]); 
     i.setAdjustViewBounds(true); 
     i.setLayoutParams(new Gallery.LayoutParams(
       LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT) 
     ); 
     return i; 
    } 

我怎樣才能刪除此硬編碼的鏈接,並檢查什麼對象調用getView並相應地設置圖像資源?

謝謝,亞歷克斯

回答

1

如何添加一個新的構造,以您的適配器,以便它讀取new ImageAdapter(this, Type.END)new ImageAdapter(this, Type.BEGIN)

當然,您可以定義一個enum來開關。

然後,在構造函數中檢查哪一個請求並設置列表。

+0

感謝您的回覆。我認爲我做了類似於你所說的,但Java/Android對我來說是非常新的(我是一個PHP傢伙)。我的構造函數如下所示: public ImageAdapter(Context c,Integer [] gName){0} mGalleryName = gName; } 然後我設置圖庫視圖適配器: galleryHead =(Gallery)findViewById(R.id.GalleryHead); 希望能幫助別人找到自己的方式! – 2010-11-25 10:14:17

相關問題