我想用一个GridView读取sd卡中的图片,如果给定路径,就可以正常显示,但如果是用bundle穿过来的路径,就报错,不知道是为什么啊?
- Java code
public class GridViewPics extends Activity { GridView gridViewMyPics; Bitmap[] bm; Bundle bundle=new Bundle(); //fRoot为传进来的文件夹的路径 String fRoots=bundle.getString("fRoot"); @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.grid_view); gridViewMyPics=(GridView)findViewById(R.id.gridview); gridViewMyPics.setAdapter(new ImageAdapter(this,getSD())); } private List<String> getSD() { // TODO Auto-generated method stub List<String> it=new ArrayList<String>(); File f=new File(fRoots); // 就是这里 如果指定一个路径如("/sdcard/my1")就是正常的 这样写 就错 File[] files=f.listFiles(); for(int i=0;i<files.length;i++){ File file=files[i]; it.add(file.getPath()); } return it; }}
------解决方案--------------------
Bundle bundle=new Bundle();
改成:
Bundle bundle = getIntent().getExtras()
------解决方案--------------------
楼上是怎么知道要把Bundle bundle=new Bundle()改成Bundle bundle = getIntent().getExtras()
!!!!!