android 查找SDCARD中图片,在listview显示,并且点击在新页面显示图片

源代码在这。就是不知道怎么在点击之后显示图片。求各位大大帮忙。。packagekr.ac.kmu.android.image;importjava.io.File;imp... 源代码在这。就是不知道怎么在点击之后显示图片。求各位大大帮忙。。
package kr.ac.kmu.android.image;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
public class ImagetestActivity extends Activity {

//view
TextView tView ;
ListView i ;
Button btn ;

//data
private ArrayList<File> list ;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.main);

tView = (TextView)findViewById(R.id.textview1);

//btn = (Button) findViewById(R.id.go);
tView = new TextView(this);
tView.setText("get all files in /sdcard/ME");

//init data
i = (ListView) findViewById(R.id.music_list);
list = new ArrayList<File>();

getAllFiles(new File("/sdcard/ME"));
SimpleAdapter ladapter = new SimpleAdapter(this,getMapData(list),R.layout.relative, new String[]{"ItemText","ItemTitle"},new int[]{R.id.ItemTitle,R.id.ItemText});
i.setAdapter(ladapter);

TextView empty = new TextView(this);
empty.setText("empty!");
i.setEmptyView(empty);

i.setOnItemClickListener(new OnItemClickListener(){

public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
这里不会写。。。
}
});

}

private ArrayList<Map<String, Object>> getMapData(ArrayList<File> list){
ArrayList<Map<String, Object>> data = new ArrayList<Map<String, Object>>();
HashMap<String,Object> item;
int i = 0 ;
for(i=0;i<list.size();i++){
item = new HashMap<String,Object>();
String path = list.get(i).toString();
String name = path.substring(path.lastIndexOf("/")+1,path.length());
item.put("ItemText",name);
item.put("ItemTitle", path);

data.add(item);
}
return data;
}
private void getAllFiles(File root){

File files[] = root.listFiles();

if(files != null)
for(File f:files){

if(f.isDirectory()){
getAllFiles(f);
}
else{
String name = f.getName();
if (name.endsWith(".jpg")) {
this.list.add(f);
}
}
}
}

}
展开
 我来答
Anbrul
2012-05-08 · TA获得超过370个赞
知道小有建树答主
回答量:159
采纳率:100%
帮助的人:147万
展开全部
1. 遍历图片很费时,图片多了你这个程序木法用,需要把遍历放到单独的线程,然后可以通过Handler等机制来通知UI动态更新显示。
2. 你想点击到新页面显示图片,就自己再写个Activity,点击的时候通过Intent把图片路径传过去,那边获取到显示出来就可以了。还可以用个static的列表保存好路径,那只需要传个点击的index到新页面,在新页面还可以进行图片的切换。
3. 再高级点:如果list中要显示的图片缩略图,decode也要放单独线程,而且最好用软引用或者有一定的释放机制,不然很容易outofmemory
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
姬祥891021
2012-05-07 · TA获得超过156个赞
知道答主
回答量:175
采纳率:0%
帮助的人:106万
展开全部
在一个imageview中显示不就行了,你看看bitmap的构造方法,有一个就是用路径来构造位图的,然后附给imageview就OK了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yuanquanfeng
2012-05-07 · 超过48用户采纳过TA的回答
知道小有建树答主
回答量:195
采纳率:0%
帮助的人:130万
展开全部
Intent innerIntent = new Intent(Intent.ACTION_GET_CONTENT); //"android.intent.action.GET_CONTENT"
  innerIntent.setType(contentType); //查看类型 String IMAGE_UNSPECIFIED = "image/*";
  Intent wrapperIntent = Intent.createChooser(innerIntent, null);
  ((Activity) context).startActivityForResult(wrapperIntent, requestCode);
更多追问追答
追问
有错误。。。
追答
strDirPath为你的图片路径
Intent intent = new Intent(Intent.ACTION_PICK, Uri.fromFile(new File(strDirPath)));
intent.setType("image/*");
startActivity(intent);
试试
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式