0

我有一个通过 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);
}

或者甚至有可能吗?

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

4

3 回答 3

1

您需要将 onItemClickListener 添加到列表视图。

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 子句。

于 2012-12-26T19:42:36.030 回答
1

我将如何添加 OnClickListener?

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

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

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

查询数据库时使用Order By子句DBAdapter.getAllRecords();

于 2012-12-26T19:43:02.193 回答
0

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

于 2012-12-26T19:41:38.493 回答