2013-09-01 104 views
2

我使用列表視圖中列出我的SQLite數據庫的項目如下項目:實現OnClickListener列出清單

listView = (ListView) findViewById(R.id.listView1); 
db.open(); 
Cursor c = db.getAllHistory(); 
ArrayList<String> temparr = new ArrayList<String>(); 
if (c.moveToFirst()) { 
    do { 
     temparr.add(c.getString(0)+'\t'+c.getString(1)+'\t'+c.getString(2)+'\t'+c.getString(3)+'\t'+c.getString(4)+'\t'); 
    } while(c.moveToNext()); 
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, temparr); 
    listView.setAdapter(adapter); 
} else { 
    db.close(); 
} 

現在我想用OnItemClickListener訪問特定列表項。我應該怎麼做?

+0

您的意思是listview.setOnItemClickListener? –

+0

是的。我沒有listView.setTextFilterEnabled(true); \t \t listView.setOnItemClickListener(新OnItemClickListener(){ \t \t \t @覆蓋 \t \t \t公共無效onItemClick(適配器視圖父,觀景,INT位置,長的id){ \t \t \t \t \t \t \t \t \t \t \t} \t}); 但現在我堅持如何提取那裏的物品。其實我不明白它是如何工作的。 – Kris

回答

9

爲了讓您的perticular數據 -

實現setOnItemClickListener() -

position將返回列表的項目位置編號: -

listView.setOnItemClickListener(new OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> parent, View view,int position, long id) { 
     String yourData = temparr.get(position); 
    } 
}); 
+0

顯示的項目,我想通過在屏幕上而不是在烤麪包,你可以編輯上面的代碼顯示實施? – Kris

+0

如果你想讓你的數據在另一個屏幕上顯示,那麼你必須創建一個新的活動。然後傳遞你的數據扔意圖。 –

2

只需撥打電話listView.setOnItemClickListener()即可實現監聽器。

+0

我做到了。但是,因爲我新的android編程。我很困惑它是如何工作的。你能解釋一下嗎 – Kris

+0

你究竟有什麼不明白的地方?你需要解釋什麼? – flx

+0

這裏是第一個谷歌爲我吐出的例子:http://www.ezzylearning.com/tutorial.aspx?tid = 1351248 – flx

0
​​

parent - > AdapterView發生點擊的位置。

視圖 - >被點擊的適配器視圖內的視圖(這將是由適配器提供的視圖)

位置 - >在適配器的視圖的位置。

id->被點擊的項目的行號。

0

您可以設置監聽像這樣:

把代碼放入onCreate()

TextView disp = (TextView) findViewById(R.id.textView1); 

listView.setOnItemClickListener(new OnItemClickListener() { 

@Override 
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 

       String temp = (String) listView.getItemAtPosition(position); 
       disp.setText(temp);// display on screen 
    } 
}); 

編輯:

當你想顯示在permenant在屏幕上的listItem排序的方式,而不是顯示敬酒,你可以做最簡單的方法是通過增加一個TextView你的佈局。看到更新的代碼

希望這會有所幫助。

+0

實際上它有幫助。在顯示項目時,我想通過屏幕而不是烤麪包來顯示它,你可以編輯上面的代碼來顯示實現嗎? – Kris

+0

查看已更新的答案。如果它解決了你的問題,接受它 –

+0

它的工作。但問題是文本與現有文本重疊。我想在另一個屏幕上顯示結果。 – Kris

相關問題