2010-11-21 75 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

相关问题