我正在尝试使用滑动窗格界面来实现文件浏览器。但是当我滚动网格视图时,我的genymotion设备显示为(http://www.mediafire.com/?kui3x2l7u6ykgx3)
这是应用程序首次启动时(http://www.mediafire.com/?45cg12uk5wadiui)
任何人都可以告诉我我在哪里看起来或者如何解决这个问题?
图片在链接中,对此抱歉,因为我没有足够的声誉来吸引我的帖子中的图片。 这是我的代码 这是gridview
的内容片段公共类ContentFragment扩展了Fragment {
public static ArrayList<FileItem> listFileItem = new ArrayList<FileItem>();
public static FileGridAdapter fileGridAdapter = null;
public static int clickTimes = 0;
ArrayList<String> str = new ArrayList<String>();
private Boolean firstLvl = true;
private File path = new File(Environment.getExternalStorageDirectory() + "");
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
loadFiles();
View rootView = inflater.inflate(R.layout.fragment_content, container, false);
fileGridAdapter = new FileGridAdapter(getActivity(), android.R.layout.activity_list_item, listFileItem);
GridView gridView = (GridView) rootView.findViewById(R.id.fileGridView);
gridView.setAdapter(fileGridAdapter);
gridView.setOnItemClickListener( new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
FileItem fileItem = fileGridAdapter.getItem(arg2);
if(fileItem.fileIcon == "folder") {
if(fileItem.fileName == "up") {
path = new File(path.toString().substring(0,
path.toString().lastIndexOf("/")));
if(path.toString() == (new File(Environment.getExternalStorageDirectory() + "")).toString())
firstLvl = true;
} else {
File selectedFolder = new File(path + "/" + fileItem.fileName);
path = new File(selectedFolder + "");
firstLvl = false;
}
loadFiles();
fileGridAdapter.notifyDataSetChanged();
} else {
FileGridItem fileGridItem = (FileGridItem) arg1;
fileGridItem.checkBox.setChecked(true);
}
}
});
return rootView;
}
private void loadFiles() {
listFileItem.clear();
try {
path.mkdirs();
} catch (SecurityException e) {
}
if (path.exists()) {
FilenameFilter filter = new FilenameFilter() {
@Override
public boolean accept(File dir, String filename) {
File sel = new File(dir, filename);
// Filters based on whether the file is hidden or not
return (sel.isFile() || sel.isDirectory())
&& !sel.isHidden();
}
};
String[] fList = path.list(filter);
listFileItem = new ArrayList<FileItem>();
for (int i = 0; i < fList.length; i++) {
listFileItem.add(new FileItem(fList[i], path.getPath()));
}
if (!firstLvl) {
listFileItem.add(new FileItem("up", path.getPath()));
}
} else {
}
}
}