【问题标题】:Android Gallery View - How to set resource?Android Gallery View - 如何设置资源?
【发布时间】:2010-11-21 17:40:39
【问题描述】:

我是 Java 编程/Android 开发的新手 - 但我一直在研究一些示例,并一直在尝试构建一个具有 3 个滚动厨房视图的“混合搭配”应用程序。

我创建了具有 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 并相应地设置图像资源?

谢谢,亚历克斯

【问题讨论】:

    标签: android interface views


    【解决方案1】:

    如何向适配器添加一个新的构造函数,使其显示为new ImageAdapter(this, Type.END)new ImageAdapter(this, Type.BEGIN)

    当然,您可以定义一个enum 来进行切换。

    然后,在构造函数中简单地检查请求的是哪一个并设置列表。

    【讨论】:

    • 感谢您的回复。我想我做了一些类似于你所说的事情,但是 Java/Android 对我来说是非常新的(我是一个 PHP 人)。我的构造函数如下所示: public ImageAdapter(Context c, Integer[] gName) { mContext = c; mGalleryName = gName;然后我设置画廊视图适配器:galleryHead = (Gallery) findViewById(R.id.GalleryHead);希望这可以帮助其他人找到自己的方式!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-24
    • 2013-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多