这里用到了GridView,九宫格,fileAction主要是展示相册下面的文件
package com.example.testpro;
import java.io.File;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import com.example.entity.Constant;
import com.example.testpro.PictureAction.ItemClickListener;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.SimpleAdapter;
import android.widget.AdapterView.OnItemClickListener;
public class FileActivite extends Activity{
private static String imgPath ;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pict);
imgPath = getSDPath();
List<String> files = readFileList();
GridView gridview = (GridView) findViewById(R.id.gridview);
//生成动态数组,并且转入数据
List<HashMap<String, Object>> lstImageItem = new ArrayList<HashMap<String, Object>>();
for(String path : files)
{
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("ItemImage", R.drawable.file);//添加图像资源的ID
map.put("ItemText", path);//按序号做ItemText
lstImageItem.add(map);
}
//生成适配器的ImageItem <====> 动态数组的元素,两者一一对应
SimpleAdapter saImageItems = new SimpleAdapter(this, //没什么解释
lstImageItem,//数据来源
R.layout.night_item,//night_item的XML实现
//动态数组与ImageItem对应的子项
new String[] {"ItemImage","ItemText"},
//ImageItem的XML文件里面的一个ImageView,两个TextView ID
new int[] {R.id.ItemImage,R.id.ItemText});
//添加并且显示
gridview.setAdapter(saImageItems);
//添加消息处理
gridview.setOnItemClickListener(new ItemClickListener());
}
//当AdapterView被单击(触摸屏或者键盘),则返回的Item单击事件
class ItemClickListener implements OnItemClickListener
{
public void onItemClick(AdapterView<?> arg0,//The AdapterView where the click happened
View arg1,//The view within the AdapterView that was clicked
int arg2,//The position of the view in the adapter
long arg3//The row id of the item that was clicked
) {
//在本例中arg2=arg3
HashMap<String, Object> item=(HashMap<String, Object>) arg0.getItemAtPosition(arg2);
// 显示所选Item的ItemText
// setTitle((String)item.get("ItemText"));
loginSuccess((String)item.get("ItemText"));
}
}
/**
* 登录成功后跳转的页面
*/
private void loginSuccess(String path) {
Intent intent = new Intent();
intent.setClass(FileActivite.this, PictureAction.class);
Bundle bd = new Bundle();
bd.putString("name", path);
intent.putExtras(bd);
startActivity(intent);
finish();
}
/**
* 获取SD卡中的所有图片路径
* @return
*/
private List<String> readFileList(){
List<String> fileList = new ArrayList<Stri