0

在我的应用程序中,我使用的是列表视图。我需要对列表视图中的选定数据执行 if else 检查。为此,我创建了以下代码。当我显示所选值时,它显示正确。但它没有在循环内检查。

mainListView.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> myAdapter, View myView, int myItemInt, long mylng) {
        String level = (String) (mainListView.getItemAtPosition(myItemInt));
        //  Toast.makeText(Listactivity.this, "" + level, 2000).show(); 

        if(level == "level-1")
        {
            Toast.makeText(Listactivity.this, "" + "selected levelel1", 2000).show();
        }
        else if(level == "level-2")
        {
         Toast.makeText(Listactivity.this, "" + "selected level 2", 2000).show();
        }
        else if(level == "level-3")
        {
         Toast.makeText(Listactivity.this, "" + "selected level3", 2000).show();
        }
        else
        {
         System.out.println("Level s not available");
        }

        }

     });
  }
4

3 回答 3

2

请尝试比较字符串这样做

if(level.equalsIgnoreCase("level-1")){
}
于 2012-06-13T09:53:33.060 回答
1

要比较 String 这样做

if(level.equals("level-1")){
}
于 2012-06-13T09:44:06.210 回答
1

Use .equals().因为==比较Strings Refrences not Characters of strings.

使用比较字符串.equals() when String is object。当您将字符串声明为字符串文字时,您可以使用比较字符串==

 if(level.equals("level-1"))
        {
            Toast.makeText(Listactivity.this, "" + "selected levelel1", 2000).show();
        }
        else if(level.equals("level-2"))
        {
         Toast.makeText(Listactivity.this, "" + "selected level 2", 2000).show();
        }
于 2012-06-13T09:45:23.350 回答