2012-06-13 63 views
0

在我的應用程序中,我使用了一個listview。我需要使用listview中的選定數據執行if else檢查。爲此,我創建了以下代碼。當我顯示選定的值時,它顯示正確。但它不在循環內檢查。從listview中獲取數據並檢查是否

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"); 
     } 

     } 

    }); 
    } 

回答

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(); 
     } 
+0

現在正在工作,我做了一個錯誤,我把'級別1',而不是'級別1'。非常感謝你.. –

+0

@PriyaRaj使用'level.equalsIgnoreCase(「level-1」)' –

1

比較字符串做這樣的

if(level.equals("level-1")){ 
} 
+0

nope..not工作... –

+0

檢查你的水平values.is它等於「1級」或「2級」等 – Rasel

2

請嘗試比較字符串做這樣的

if(level.equalsIgnoreCase("level-1")){ 
} 
相關問題