0

Environment.getExternalStorage() に「/My Webs」というディレクトリを作成しました。アプリが起動すると、ディレクトリ ファイルとサブ ディレクトリの内容がリストに読み込まれます。親ディレクトリに移動するボタンがありますが、ユーザーがルート /My Webs ディレクトリよりも上位に移動することは望ましくありません。

これが私が試したことです:

 private void upOneLevel(){
                if(this.currentDirectory.getParent() != null || this.currentDirectory.getParent() != Environment.getExternalStorageDirectory().getPath() + "My Webs")
                        this.browseTo(this.currentDirectory.getParentFile());
        }

    private void browseTo(final File aDirectory){
            // On relative we display the full path in the title.
            if(this.displayMode == DISPLAYMODE.RELATIVE)
                    this.setTitle(aDirectory.getAbsolutePath() + " :: " +
                                    getString(R.string.app_name));
            if (aDirectory.isDirectory()){
                    this.currentDirectory = aDirectory;
                    fill(aDirectory.listFiles());
            }else{
                    openFile(aDirectory);
            }
    }
4

1 に答える 1

1

あなたの問題はここにあります:

this.currentDirectory.getParent() != Environment.getExternalStorageDirectory().getPath() + "My Webs"

これは、Javaで文字列を比較する方法ではありません。代わりに、次のequals()ように使用します。

!this.currentDirectory.getParent().equals( Environment.getExternalStorageDirectory().getPath() + "My Webs" )
于 2013-02-25T04:44:42.233 に答える