onListItemClick, какое утверждение мне нужно, чтобы получить значение? - PullRequest
0 голосов
/ 12 апреля 2011

я могу добавить в БД и список в виде списка.Когда я щелкаю элемент списка с помощью onListItemClick, какой оператор мне нужен, чтобы получить значение?

Заранее спасибо.

public class Main extends ListActivity {
private static String[] FROM = { _ID, DESCRIPTION, UN };
private static String ORDER_BY = DESCRIPTION + " ASC";
private static int[] TO = {R.id.itemrowid, R.id.itemdescription, R.id.itemun };
private EventsData events;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    events = new EventsData(this);
    try {
        Cursor cursor = getEvents();
        showEvents(cursor);
     } finally {
        events.close();
     }

**public void onListItemClick(ListView parent, View v, int position, long id) {
    // What statement to put here to get the value of _ID,DESCRIPTION, UN
    // selected**?
}

private Cursor getEvents() {
    // Perform a managed query. The Activity will handle closing
    // and re-querying the cursor when needed.
    SQLiteDatabase db = events.getReadableDatabase();
    Cursor cursor = db.query(TABLE_NAME, FROM, null, null, null,
            null, ORDER_BY);
    startManagingCursor(cursor);
    return cursor;
}

private void showEvents(Cursor cursor) {
    // Set up data binding
    SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
            R.layout.item, cursor, FROM, TO);
    setListAdapter(adapter);
}

Ответы [ 2 ]

8 голосов
/ 12 апреля 2011

Во-первых, вам нужно получить элемент в нажатой позиции:

Cursor cursor = getListAdapter().getItem(position);

Затем вы можете получить данные из этого курсора (я не знаю, какие типы вы используете, так что просто для примераint и String):

int id = cursor.getInt(cursor.getColumnIndex(_ID));
String description = cursor.getString(cursor.getColumnIndex(DESCRIPTION));

См. документацию для доступных методов Cursor.

0 голосов
/ 12 апреля 2011

Добавляя к ответу sergey, вы также можете непосредственно видеть, по какому виду щелкнули, и использовать findViewById(), чтобы найти компоненты, следовательно, нужные значения.

Это всего лишь альтернатива тому, что метод Сергей намного меньше'пятнистый'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...