我正在尝试制作if/else
声明,如果s1
为null
,则会显示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();
}
}
答案 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(""))