Как получить строковое значение определенной строки / столбца для TextView и анализа - PullRequest
0 голосов
/ 07 января 2011

У меня есть два вопроса, связанных с базой данных

Справочная информация:

Я могу создавать и удалять записи.
Я могу отобразить всетаблицы и / или отдельной строки с помощью StringBuilder.
Я могу отобразить всю таблицу в списке с помощью SimpleCursorAdapter.
Я могу выбрать нужную запись из отображаемого списка, получить ее идентификатор записи.
Я могу отобразитьидентификатор записи (в виде строки) в TextView.

Мне кажется, что я не могу сделать следующее:

После выбора элемента из списка, получения его идентификатора,Я просто хочу отобразить строковое значение .Я столкнулся с проблемой возврата запроса курсором.Когда я изменяю или анализирую возврат, у меня ничего не получается.

Отображение этого значения - всего лишь шаг к возможности проанализировать возвращенную строку и использовать ее для некоторых вычислений - как вычисление, так и отображение это конечные цели.

Вопрос 1:
Как отобразить строковое значение записи в определенной строке и столбце?

Вопрос 2:
Для этой базы данных я использую SimpleCursorAdapter для отображения списка, но кликабельна только строка в списке, а не полная отображаемая строка (то есть, если содержимое было только двумя символами, это то, что вам нужнонажмите).

Ранее я использовал ListAdapter с ArrayAdapter и выбирал любое место в Перечисленной строке.
Итак, вопрос: как сделать всю строку активной для щелчка?

Любойрекомендации признательны, спасибо.
Код следует - НО, обратите внимание , что этот фрагмент - только одна из двух миллионных попыток, и этот фрагмент отображает то, что возвращает курсор - это была не одна из попыток при приведении илиизменив его тип для отображения содержимого, которое я хочу - это был просто тест:

//ON CLICK
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
  super.onListItemClick(l, v, position, id);

  // test for record id#
   String penut = String.valueOf(id); // YES, it gets the record id# 
 //  Maincode.showItem.setText(penut);  // YES, it displays the record id#

   Cursor myGirl = helpDude.db.query(DbAdapter.TABLE_NAME, null,
     "_id=?", new String[]{penut}, null, null, null);

   String outy = String.valueOf(myGirl);

   Maincode.showItem.setText(outy);  

}//end on click

Ответы [ 3 ]

0 голосов
/ 07 января 2011

Попробуйте заменить эту строку своего кода:

String outy = String.valueOf(myGirl);

на:

String outy = myGirl.getString(the outy column number);
0 голосов
/ 08 января 2011

1) Кажется, я могу сделать это только так, как делал раньше (требовалось всего 11 строк кода).Но это работает.

Необходимо провести курсор вниз по таблице, сравнить элементы таблицы (в нужном столбце) с требуемым идентификатором и номером столбца, а затем получить его.Похоже, я не могу просто получить ячейку конкретной таблицы, не проведя марш с курсором, как в: heyDudeGoGetThis (rowId, ColId).

2) Глупый я (я спал на этом), просто изменитеширина для заполнения.

Спасибо за помощь.

0 голосов
/ 07 января 2011

В вашем onListItemClick слушателе вы должны вызвать AdapterView#getItemAtPosition, который вернет вам объект Cursor, уже расположенный с этим идентификатором. Вы должны будете привести его к Cursor.

Итак, ваш обработчик будет выглядеть примерно так:

public void onListItemClick(ListView l, View v, int position, long id) {   
  Cursor c = (Cursor)l.getItemAtPosition(position);

  //use cursor to get data 

}

Вы можете прочитать List7 ApiDemo для получения более подробной информации.

Если вы хотите выполнить дополнительную работу с данными в вашем Cursor и отобразить это в своем ListView, вам придется реализовать пользовательский CursorAdapter

Некоторые ссылки, которые предоставляют некоторую помощь по этому вопросу:

http://mylifewithandroid.blogspot.com/2008/04/custom-widget-adapters.html

http://blog.cluepusher.dk/2009/11/16/creating-a-custom-cursoradapter-for-android/

http://thinkandroid.wordpress.com/2010/01/11/custom-cursoradapters/

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