我该如何为此添加onClickListener?

时间:2012-12-26 19:38:33

标签: java android listview

我有一个数据库,我通过listview类型的东西显示,我将如何添加OnClickListener?
这是代码:

public void DisplayRecord(Cursor c) {
    Cursor c1 = DBAdapter.getAllRecords();
    startManagingCursor(c1);

    String[] from = new String[] { DBAdapter.KEY_ITEM };
    int[] to = new int[] { R.id.text1 };

    SimpleCursorAdapter notes = new SimpleCursorAdapter(this, R.layout.row,
            c1, from, to);
    setListAdapter(notes);
}

或者甚至可能吗?

我将如何按字母顺序对此列表进行排序?

3 个答案:

答案 0 :(得分:1)

您需要将onItemClickListener添加到listview。

yourListVeiw.setOnItemClickListener(new AdapterView.OnItemClickListener() {
     public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {
 // id is the clicked item id
     Cursor clickedItem = DBAdapter.getRecord(id);
     // DO what you need to do

}

为了让列表有序,你应该在DBAdapter中实现一个getSortedRecords(),添加一个order by子句。

答案 1 :(得分:1)

  

我如何添加OnClickListener?

您希望将OnItemClickListener与ListView一起使用,或者由于您使用的是ListActivity或ListFragment,因此可以覆盖OnListItemClick

@Override
public void onListItemClick(ListView l, View v, int position, long id) {
    // Do something
}
  

我将如何按字母顺序对此列表进行排序?

DBAdapter.getAllRecords();

中查询数据库时,请使用Order By子句

答案 2 :(得分:0)

你当然可以,但是你应该在ListView上设置你的监听器,而不是提供其数据的适配器。
Android上查看setOnItemClickListener