добавление метки в виде сетки - PullRequest
0 голосов
/ 15 октября 2011

Я хочу добавить ярлыки для значков в виде сетки в Android. Я нашел несколько ответов на этот вопрос, но у меня не получилось ни одного. В большинстве случаев приложение закрывалось принудительно. Любая помощь будет оценена.

вот код, который я использую

package com.appsdrip16;

import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TextView;

public class ImageAdapter extends BaseAdapter {
    private Context mContext;

    public ImageAdapter(Context c) {
        mContext = c;
    }

    public int getCount() {
        return mThumbIds.length;
    }

    public Object getItem(int position) {
        return null;
    }

    public long getItemId(int position) {
        return 0;
    }

    // create a new ImageView for each item referenced by the Adapter
    public View getView(int position, View convertView, ViewGroup parent) {

        ImageView imageView;
        if (convertView == null) {  // if it's not recycled, initialize some attributes
            imageView = new ImageView(mContext);
            imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
            imageView.setPadding(1, 1, 1, 1);

            Bundle bundle=new Bundle();
            bundle.putInt("key", position); 

          //Inflate the layout
            LayoutInflater li = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View MyView = li.inflate(R.layout.main, null);

            //View MyView;
            // Add The Text!!!
            TextView tv = (TextView) MyView.findViewById(R.id.grid_item_text);
            tv.setText("Item "+ position );

        } else {
            imageView = (ImageView) convertView;
        }

        imageView.setImageResource(mThumbIds[position]);
        return imageView;
    }
    // references to our images
    private Integer[] mThumbIds = { 
              R.drawable.icon1, R.drawable.icon2,
              R.drawable.icon3, R.drawable.icon4
             };
}

1 Ответ

0 голосов
/ 16 октября 2011

Для реализации такого Настраиваемого вида сетки вам нужно определить XML-файл пользовательской строки, а затем накачать его внутри пользовательского адаптера, который будет использоваться для вашего GridView, с помощью значков и текста.

...