如果/ else语句永远不会达到/ edittext null值

时间:2012-07-11 02:54:53

标签: android android-edittext

我正在尝试制作if/else声明,如果s1null,则会显示SD卡中的文件,但如果s1不是null 1}},它将显示包含用户输入的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();
        }
    } 

3 个答案:

答案 0 :(得分:0)

试试这个:

if (s1.getText().toString()==null){
....

答案 1 :(得分:0)

很难知道你的问题究竟是什么,但我怀疑这个:

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

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

答案 2 :(得分:0)

使用此代码..

if( edit_text.getText().toString().trim().equals(""))