首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >显示SD卡中的图像列表

显示SD卡中的图像列表
EN

Stack Overflow用户
提问于 2011-04-04 01:07:38
回答 2查看 1.3K关注 0票数 0

我正在尝试向用户显示SD卡上的图像列表,允许他们选择多个图像,然后将这些选择的图像存储在一个数组中。你能在这方面给我一些帮助吗?

公共类selectimages扩展了Activity {

代码语言:javascript
运行
复制
 //---the images to display---     Integer[] imageIDs = {             R.drawable.a\_1,             R.drawable.a\_2,             R.drawable.a\_3,             R.drawable.a\_4,             R.drawable.a\_5,             R.drawable.a\_6,             R.drawable.a\_7
代码语言:javascript
运行
复制
 };
代码语言:javascript
运行
复制
@Override    
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.selectimages);

    ListView listview = (ListView) findViewById(R.id.listview);
    listview.setAdapter(new ImageAdapter(this));

    listview.setOnItemClickListener(new OnItemClickListener() 
    {
        public void onItemClick(AdapterView parent, 
        View v, int position, long id) 
        {                
            Toast.makeText(getBaseContext(), 
                    "pic" + (position + 1) + " selected", 
                    Toast.LENGTH_SHORT).show();
        }
    });        
}

public class ImageAdapter extends BaseAdapter 
{
    private Context context;

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

    //---returns the number of images---
    public int getCount() {
        return imageIDs.length;
    }

    //---returns the ID of an item--- 
    public Object getItem(int position) {
        return position;
    }

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

    //---returns an ImageView view---
    public View getView(int position, View convertView, ViewGroup parent) 
    {
        ImageView imageView;
        if (convertView == null) {
            imageView = new ImageView(context);
            imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
            imageView.setPadding(5, 5, 5, 5);
        } else {
            imageView = (ImageView) convertView;
        }
        imageView.setImageResource(imageIDs[position]);
        return imageView;
    }
}    

}

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-04 02:02:51

看,获取Listview的检查值:previous question

达伦·罗宾斯写道:

代码语言:javascript
运行
复制
int len = listView.getCount();
SparseBooleanArray checked = listView.getCheckedItemPositions();
for (int i = 0; i < len; i++)
 if (checked.get(i)) {
  String item = cont_list.get(i);
  /* do whatever you want with the checked item */
 }
票数 0
EN

Stack Overflow用户

发布于 2011-04-04 01:19:15

你可以使用自定义的列表视图布局将这些图像加载到列表视图中,然后在每个图像旁边放置一个复选框,这意味着checkbox...whenever用户选择了该列表视图中的图像。这是你想要的吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5531090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档