滑动窗格错误显示

时间:2013-11-19 13:28:01

标签: android user-interface android-sliding

我正在尝试使用滑动窗格界面来实现文件浏览器。但是当我滚动网格视图时,我的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 {
    }
}

}

0 个答案:

没有答案