获取Android中的ListView项的价值

时间:2014-09-20 08:19:23

标签: android sqlite listview android-listview

我正在向ListView填充我从我创建的数据库中获取的数据。我想获得ListView中长期点击的项目名称。 我尝试过使用以下方法:

 - parent.getItemAtPosition(position).toString();
 - myListView.getItemAtPosition(position).toString();
 - myListView.getSeletedItem(position).toString();

这三个语句运行良好,但是当我通过从数据库中获取数据来填充LisView时,我得到了以下值:

  

09-20 13:01:22.370:I / System.out(5351):android.database.sqlite.SQLiteCursor@426925b0

而我点击的项目名称是' Home' ..

请帮帮我。如何将android.database.sqlite.SQLiteCursor@426925b0转换为Home

MY ADAPTER:

mCursor = mDB.fetchData();
String[] columns = new String[] { AreaDatabase.KEY_AREA };
    int[] to = new int[] { R.id.tvArea };

    mAdapter = new SimpleCursorAdapter(this, R.layout.lvarea, mCursor,
            columns, to);
    lvArea.setAdapter(mAdapter);

fetchData()函数:

public Cursor fetchAreaData() {
    Cursor mCursor = ourDatabase.query(AREA_TABLE_NAME, new String[] {
            KEY_ROWID, KEY_AREA }, null, null, null, null, null);
    if (mCursor != null) {
        mCursor.moveToFirst();
    }

    return mCursor;
}

2 个答案:

答案 0 :(得分:0)

Cursor有方法getString(int columnIndex)。您可以使用它从String中获取Cursor来自指定列索引的值。

> Cursor currentCur = myListView.getItemAtPosition(position);
> String name = currentCur.getString(1); //It will return KEY_AREA (column index 1) value from Cursor

答案 1 :(得分:0)

这样做:

parent.getItemAtPosition(position).toString();