2012-04-07 48 views
0

出於某種原因,無論點擊哪個項目,這隻會返回列表中第一個項目的名稱。我不知道爲什麼它沒有返回正確的名稱。基本上我只想找到名稱,以便我可以搜索該名稱的名單,以便我可以在數組中找到它的位置。單擊時從ListView中的項目獲取字符串名稱。 Android

myTask.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View view, 
       int position, long id) { 
      // When clicked, show a toast with the TextView text 
      String name = ((TextView)view).getText().toString(); 
      for (int i = 0; i < ToDoActivity.myUser.taskCount; i++){ 
       if(name == ToDoActivity.myUser.tasks[i].getTaskName()) 
        clickTask = i; 
      } 
      Intent myIntent = new Intent(view.getContext(), TaskEdit.class); 
      view.getContext().startActivity(myIntent); 
     } 

謝謝 Dlong

回答

1

如果我理解你想要做什麼,你可以簡單地使用position說法onItemClick

clickTask = position; 
+0

不引用位置列表而不是數組中的位置?如果我對列表進行排序只顯示某些項目,那麼位置變量將對應於陣列中正確的位置? – user433047 2012-04-07 19:53:15

0

使用 「位置」 值正在傳遞給你。它告訴你哪個索引被按下。

0

替換此行:

if(name == ToDoActivity.myUser.tasks[i].getTaskName()) 

這一行:

if(name.equals(ToDoActivity.myUser.tasks[i].getTaskName())) 
+0

儘管技術上屬實,但Binyamin Sharet的答案更符合用戶應該做的事情 – JRaymond 2012-04-07 19:26:33