2015-04-01 72 views
-2

我遇到了一個問題,我無法聽到listView中的單個項目選擇。 這是我的這個頁面的xml佈局結構。Android的列表視圖不能在選定的項目上收聽

RelativeLayout 
    LinearLayout 
     searchText 
     searchButton 
    LinearLayout 
     list 

下面是關於如何從文本中提取數據以及如何爲列表視圖設置監聽器的代碼。

private void searchAction() { 
    TextView searchText = (TextView)findViewById(R.id.searchText); 
    String userName = searchText.getText().toString(); 
    searchText.clearFocus(); 
    adapter = new SimpleCursorAdapter(this, 
      R.layout.search_list_item, 
      null, 
      new String[]{}, 
      new int[]{}, 
      0); 
    adapter.setViewBinder(new SimpleCursorAdapter.ViewBinder() { 
     @Override 
     public boolean setViewValue(View view, Cursor cursor, int columnIndex) { 
      switch(view.getId()) { 
      // here can add one more line in the main page for each account 
      return false; 
     } 
    }); 
    listView.setAdapter(adapter); 
    listView.requestFocus(); 
    listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { 

     public boolean onItemLongClick(AdapterView<?> arg0, View v, int index, long id) { 
      //String str=listView.getItemAtPosition(index).toString(); 
      Toast.makeText(getBaseContext(), "Index: "+index + "ID: "+id, Toast.LENGTH_LONG).show(); 
      return true; 
     } 
    }); 
    listView.setItemsCanFocus(true); 
} 

我能夠從textView中獲取數據。但是我爲listView設置的監聽器不起作用。 任何幫助將被接受。謝謝

+1

你是什麼意思,它不工作?預期的行爲是什麼?發生了什麼?在這裏,您要爲整個listView設置一個Longclick監聽器,而不是列表中的每個單獨項目。那是你要的嗎? – NSimon 2015-04-01 10:24:12

+0

我正在嘗試從listView中單個項目單擊操作。 onItemLongClick函數中的 – John 2015-04-01 10:28:26

+0

。我能夠獲得所選項目的索引。因此我可以對相應的項目做更多的操作。 – John 2015-04-01 10:30:02

回答

0

這種方式你只有當你長時間點擊列表的每一行而不是它的孩子時纔會發生。
你應該在你的適配器類中實現OnClickListener來管理每個孩子的點擊。

相關問題