怎么把List里的所有图片显示出来,代码如下。希望大神们能在给的代码里增删。小白哈

public class MainActivity extends AppCompatActivity {
// 图片和id列表
private List picList = new ArrayList();
private Bitmap b;
private String name;
private ListView Lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getImagePathFromSD();
Lv= (ListView) findViewById(R.id.lv);
Lv.setAdapter(new MyAdapter());
}

private class MyAdapter extends BaseAdapter{

    @Override
    public int getCount() {
        return picList.size()/2;
    }

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

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View view;
        if (convertView==null){
           view= View.inflate(getApplicationContext(),R.layout.item,null);
        }else {
            view=convertView;
        }
        //找到数据来显示
        ImageView iv_potoes= (ImageView)view.findViewById(R.id.imageView1);
        TextView tv_name= (TextView) view.findViewById(R.id.tvname);
        //picList.get(position);
        iv_potoes.setImageBitmap(b);
        tv_name.setText(name);
        tv_name.setTextColor(Color.RED);
        return view;
    }
}


// 从sd卡获取图片资源
private List<Object> getImagePathFromSD() {
    // 得到sd卡内路径
    String imagePath =Environment.getExternalStorageDirectory().toString() + "/nongbang";
    // 得到该路径文件夹下所有的文件
    File mfile = new File(imagePath);
    File[] files = mfile.listFiles();
    // 将所有的文件存入ArrayList中,并过滤所有图片格式的文件
    for (int i = 0; i < files.length; i++) {
        File file = files[i];

        if (checkIsImageFile(file.getPath())) {
            //获取图片
            b=BitmapFactory.decodeFile(file.getPath());
            picList.add(b);
            //获取文件名
            String houzuiname=file.getName();
            name=houzuiname.substring(houzuiname.lastIndexOf(0)+1,houzuiname.lastIndexOf(".")).toLowerCase();
            picList.add(name);

        }
    }
    // 返回得到的图片列表
    return picList;
}

// 检查扩展名,得到图片格式的文件
private boolean checkIsImageFile(String fName) {
    boolean isImageFile = false;
    // 获取扩展名
    String FileEnd = fName.substring(fName.lastIndexOf(".") + 1,fName.length()).toLowerCase();
    if (FileEnd.equals("jpg") || FileEnd.equals("gif")|| FileEnd.equals("png") || FileEnd.equals("jpeg")|| FileEnd.equals("bmp")) {
        isImageFile = true;
    } else {
        isImageFile = false;
    }
    return isImageFile;
}

/*
这里面我只能显示输入到List的最后一组,请问大佬们怎么修改让TextView能够把第一张到最后一张都显示出来啊
*/

2个回答

Log.i("TAGB", (String) picList.get(position+1));
Log.i("TAGB", (String) picList.get(1));
这两句中的第一个在运行时qpp会被强制终止出错,而第二个却没有,position参数是int型为什么会出错

su2420370731
fafasj 回复su2420370731: 这是英文list里面有bitmap导致出错?
2 年多之前 回复
su2420370731
fafasj android.graphics.Bitmap cannot be cast to java.lang.String出错提示
2 年多之前 回复

已经解决了,把图片和文件名分别存入不同的list就好了 ,之前两个都放在piclist里面再用piclist.get(position)的时候因位Bitam和String强转出错。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

1
ubuntu终端,发送http请求获取天气,得到服务器回应的问题。求大神解惑!
2
SpringBoot集成Mybatis遇到问题
1
请教一个问题,我的循环输入第一组数据和第二组数据一起输入了,但是最终 显示正常,求大神指教!!!
4
js动态添加li,li的id拼接问题!!!!
1
关于导入修改的问题,求大神解答
1
list与数组的equals比较
4
python beautifulsoup find_all方法返回空列表
5
ListView无法显示数据,想了很多办法都无法解决,本人新手,望大神帮帮看看!adapter代码如下
4
安卓问题,代码如下:想显示一个listView。但是跳转到合格activity什么都不显示。
1
为什么eclipse的Frame框架出来了,但是代码内容实现不了??求大神解答,
1
python3.6中输入代码运行没有结果,只有一个中括号,求大神解答
2
本人新手,后台采用ssm框架,部署项目后报错,希望哪位大神能够解决一下
3
java定时任务,现在为一天一同步,需要改为一周一同步,代码如下,本人菜鸟请大神搭救
1
java 里面通过es查询不到数据。都要哭了。
4
使用maven命令install打包项目提示XXX类不是抽象的
13
今天小妹搭一个ssm框架,但是就是报404,大神能帮忙看一下吗
3
cas5.1.5如何实现记住密码自动登陆
3
如何使用matplotlib生成如下热力图
2
关于Java多线程的问题,求大神解决
5
微信小程序 如何读取数据库中当前登录用户对应的数据,并列表显示