0

我知道這可能是很簡單的,但...機器人:一個ListEntry類,處理ListView項單擊

我根據我的Android應用程序的answer處理列表視圖點擊。下面是使用一個ListEntry

ListEntry entry = (ListEntry) parent.getItemAtPosition(position); 

但是Eclipse無法檢測這個類,並說「一個ListEntry不能被解析爲一個類型」 我谷歌「一個ListEntry」類,不能代碼找到關於這個的所有信息,那麼我的錯誤在哪裏?

對不起英文不好。 感謝

編輯: 這裏是我的onLoadFinished法」

@Override 
public void onLoadFinished(Loader<Cursor> arg0, Cursor arg1) { 
    // TODO Auto-generated method stub 


    arg1.moveToFirst(); 
    simpleCursorAdapter = new SimpleCursorAdapter(
      getApplicationContext(), 
      android.R.layout.simple_list_item_1, 
      arg1, 
      new String[] { "wname" }, 
      new int[] { android.R.id.text1 }, 
      CursorAdapter.IGNORE_ITEM_VIEW_TYPE); 

    listview.setAdapter(simpleCursorAdapter); 
    simpleCursorAdapter.swapCursor(arg1); 



} 
+2

我相信ListEntry中的答案是一個用於存儲數據的自定義類。您將List(ArrayList)傳遞給附加到ListView的適配器。你到底在找什麼?填充列表?或獲得點擊列表項目? – Keya

+0

ListEntry是一個自定義類,用於顯示您的列表項。 – IPL10

+0

@IPL感謝您的回答 – Amir

回答

3

首先ListView控件,在你的XML佈局聲明它:

您可以直接填充在一個列表XML本身爲它提供了一個字符串數組,或者如果你想爲例如read數據庫動態填充它,你需要在相應的Activity中完成它,這是你通過Adapters實現的,一個適配器管理你的數據和廣告將它轉換爲列表視圖的行。

MyListAdapter是您需要創建擴展BaseAdapter的適配器類。你需要給你的視圖中顯示的適配器列表。

String[] values = new String[] { "Apple", "Banana", "Cherry" }; 

final ArrayList<String> list = new ArrayList<String>(); 
for (int i = 0; i < values.length; ++i) { 
    list.add(values[i]); 
} 

myListAdapter = new MyListAdapter(this, list); 
listView.setAdapter(myListAdapter); 

如果您想修改數據,即顯示圖標等或重新格式化字符串,您需要創建自定義適配器。你可以使用android框架提供的適配器數量,以便像ArrayAdapter一樣使用。

您可以添加監聽器來檢測單擊列表中的項目:

listView.setOnItemClickListener(new OnItemClickListener() { 
@Override 
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
     // do something here 
} 
}); 

有本教程中,你可能會發現有用的。 http://www.vogella.com/tutorials/AndroidListView/article.html

希望它有幫助。請回來查詢更多。

+0

這是關於listviews的明確答案,現在如果我已經用數據庫使用simpleCursorAdapter填充我的列表視圖。現在,獲取點擊項目文字的最佳做法是什麼? .....你寫:「在這裏做點什麼」 – Amir

+0

你可以做這樣的事情:parent.getItemAtPosition(position); 或者如果你有TextView作爲子視圖,你可以做類似於: ((TextView)view).getText()。toString(); – Keya

+0

是的,你能解釋更多這兩種方式嗎? – Amir