Android Gallery View - Как настроить ресурс? - PullRequest
0 голосов
/ 21 ноября 2010

Я новичок в программировании на Java / разработке под 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 Ответ

1 голос
/ 21 ноября 2010

Как насчет того, чтобы добавить в конструктор новый конструктор, чтобы он читал new ImageAdapter(this, Type.END) или new ImageAdapter(this, Type.BEGIN)?

Конечно, вы бы задали enum для переключения.

Затем в конструкторе просто проверьте, какой из них запрашивается, и установите список.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...