0

我正在尝试if/else声明 if s1is null,它将显示来自 SD 卡的文件,但如果s1is not null,它将显示包含用户输入的 SD 卡文件。但是,我的代码失败并且永远不会到达if/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 (s1.getText().toString()==null){
....
于 2012-07-11T03:00:56.897 回答
0

很难知道你的问题到底是什么,但我怀疑这是:

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

不是你想的那样。你期望从 s1.toString() 得到什么?它不会是 EditText 条目的值,也不会是您在 XML 中提供的具有英文外观的 ID。这将是与此输入相关联的任何内部 java 标签,这真的是您的文件名吗?如果不是,那么这场比赛将永远失败。

于 2012-07-11T03:05:10.270 回答
0

使用此代码..

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