0

私のアプリケーションでは、リストビューを使用しています。リストビューから選択したデータを使用してifelseチェックを実行する必要があります。そのために、次のコードを作成しました。選択した値を表示すると、正しく表示されます。ただし、ループ内ではチェックされません。

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

文字列を比較するには、次のようにします

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 に答える