0

の場合は SD カードのファイルが表示されるが、そうでない場合はユーザー入力を含む SD カードのファイルが表示されるというif/elseステートメントを作成しようとしています。ただし、私のコードは失敗し、ステートメントに到達しません。s1nulls1nullif/else

EditText s1 = (EditText) findViewById(R.id.search1);

    try 
    {
        for (File ff : dirs) 
        {
            //search.equals("")
            if (s1.getText().toString().equals(""))//if null
            {
                if (ff.isDirectory())
                    dir.add(new Option(ff.getName(), "Folder", ff.getAbsolutePath()));
                else 
                {
                    fls.add(new Option(ff.getName(), "File Size: " + ff.length(), ff.getAbsolutePath()));
                }
            }
            else
            {
                if (ff.getName().contains(s1.toString()))//show file search
                {
                    if(ff.isDirectory())
                        dir.add(new Option(ff.getName(),"Folder",ff.getAbsolutePath()));
                    else
                    {
                        fls.add(new Option(ff.getName(),"File Size: "+ff.length(),ff.getAbsolutePath()));
                    }
                }
            }
            //Toast.makeText(this, (CharSequence) s1, Toast.LENGTH_SHORT).show();
        }
    } 
4

3 に答える 3

0

このコードを使用してください。

if( edit_text.getText().toString().trim().equals(""))
于 2012-07-11T04:26:00.493 に答える
0

あなたの質問が実際に何であるかを知るのは難しいですが、私はこれを疑っています:

if (ff.getName().contains(s1.toString()))

あなたが思っていることではありません。s1.toString()から何を期待していますか?EditTextエントリの値にはならず、XMLで指定した英語のIDにはなりません。これは、この入力に関連付けられている内部Javaラベルになりますが、実際にはファイル名は何ですか?そうでない場合、この一致は常に失敗します。

于 2012-07-11T03:05:10.270 に答える
0

これを試して:

if (s1.getText().toString()==null){
....
于 2012-07-11T03:00:56.897 に答える