1

我有一个在对话框视图中膨胀的网格视图。现在,当我打开对话框(使用 Grid View )时,它会显示一组 10 张图像。

当对话框被关闭时,我选择的图像设置在 ImageView 上。

现在我的查询是我可以得到图像的名称吗?这是在 ImageView 上设置的???

我必须把它保存在某个地方。

@Override
public void onClick(View view) {
    // TODO Auto-generated method stub
    final Dialog groupIconsDialog = new Dialog(CreateGroupActivity.this);
    groupIconsDialog.setTitle("Choose Group Icon");
    groupIconsDialog.setContentView(R.layout.group_icons_layout);
    //calling and setting the image icons to the grid view adapter
    GridView groupIconsGrid = (GridView)groupIconsDialog.findViewById(R.id.grid_groupIcons);
    groupIconsGrid.setAdapter(new GroupIconAdapter(CreateGroupActivity.this));

    groupIconsGrid.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1,
                        int position, long arg3) {
                    // TODO Auto-generated method stub

                    group_icon.setImageResource(new GroupIconAdapter(CreateGroupActivity.this).mThumbIds[position]);
                    groupIconsDialog.dismiss();

                }

            });

            groupIconsDialog.show();

        }
    });

图像适配器

public class GroupIconAdapter extends BaseAdapter {

    private Context mContext;

    //icons image array
     public Integer[] mThumbIds = {
                R.drawable.mogra,R.drawable.rhino,
                R.drawable.zebra,R.drawable.lion,
                R.drawable.mogra,R.drawable.rhino,
                R.drawable.giraffee,R.drawable.giraffee,
                R.drawable.lion,R.drawable.rhino
        };

     public GroupIconAdapter(Context c) {
        // TODO Auto-generated constructor stub
         mContext = c;
     }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return mThumbIds.length;
    }

    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return mThumbIds[position];
    }

    @Override
    public long getItemId(int arg0) {
        // TODO Auto-generated method stub
        return 0;
    }

    @Override
    public View getView(int position, View view, ViewGroup parent) {
        // TODO Auto-generated method stub
        ImageView imageView = new ImageView(mContext);
        imageView.setImageResource(mThumbIds[position]);
        imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
        imageView.setLayoutParams(new GridView.LayoutParams(50, 50));
        return imageView;
        }
}
4

1 回答 1

4

是的,如果您有图像的资源 ID,您可以获得图像的名称。您可以使用getResourceEntryName(resourceId)

String name = getResources().getResourceEntryName(mThumbIds[position]);
于 2012-12-27T12:04:52.757 回答