我正在尝试加载一个只有本地图像和文本的列表,一切正常,我的意思是我可以看到文字很好但在图像区域我看不到图像。
本地图片路线为“/mnt/sdcard/Imagenes/pic1.jpg/ ",,/mnt/sdcard/Imagenes/pic2.jpg/”等。
我必须在这里做错事,不知道是什么。任何帮助都会很感激,谢谢...
以下是我如何将适配器设置为列表
FotosAdapter FotoAdapter = new FotosAdapter(this, R.layout.galeriafotos, listafotos);
listado.setAdapter(FotoAdapter);
和适配器
public class FotosAdapter extends ArrayAdapter<Foto> {
private ArrayList<Foto> items;
public FotosAdapter(Context context, int textViewResourceId, ArrayList<Foto> items) {
super(context, textViewResourceId, items);
this.items = items;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ContenedorVista contenedor;
if (convertView == null) {
LayoutInflater infla = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infla.inflate(R.layout.galeriafotos, null);
contenedor = new ContenedorVista();
contenedor.txtObservacion = (TextView) convertView.findViewById(R.id.observaciones);
contenedor.imgFotos = (ImageView) convertView.findViewById(R.id.fotosexpediente);
convertView.setTag(contenedor);
}else{
contenedor = (ContenedorVista)convertView.getTag();
}
Foto o = items.get(position);
if (o != null) {
contenedor.txtObservacion.setText(o.getObservaciones());
contenedor.imgFotos.setImageURI(o.getUriPath());
}
return convertView;
}
static class ContenedorVista{
TextView txtObservacion;
ImageView imgFotos;
}
}
以下是我设置数组的方法。
listafotos = new ArrayList();
ImagesAdapter ia = new ImagesAdapter(Common.dbAdapter.getDatabase());
Cursor cur = ia.getFiltered(-1, -1, CodExp, null, null, Common.currentUser.getIdUsuario());
cur.moveToFirst();
while(!cur.isAfterLast()){
try{
Foto objExpediente = new Foto();
objExpediente.setUriPath(Uri.parse(cur.getString(cur.getColumnIndex("Path")) + cur.getString(cur.getColumnIndex("_id")) + ".jpg"));
objExpediente.setObservaciones(cur.getString(cur.getColumnIndex("Observaciones")));
listafotos.add(objExpediente);
}catch(Exception ex){
Common.log("e",ex.toString());
}
cur.moveToNext();
}
cur.close();
非常感谢。
答案 0 :(得分:0)
对我而言,提供的信息较少。代码中缺少的是items-ArrayList的填充。
当显示文本并且未显示照片时,这意味着输入了最后一个if子句。尝试将Log-Output放入最后一个if子句并输出您使用的URI。
亲切的问候
答案 1 :(得分:0)
文件的URI必须以“file://”开头,因此您的seturi应该是:
objExpediente.setUriPath(Uri.parse("file://" + cur.getString(cur.getColumnIndex("Path")) + cur.getString(cur.getColumnIndex("_id")) + ".jpg"));