-1
Я работаю над проектом Android и застрял. Я пытаюсь получить элемент из ListView, но все, что я получаю, это информация о позиции элемента в базе данных, которую я создал, а не о самом элементе.Получение элемента из ListView
это мой код:
public class Map extends Activity {
Cursor cursor;
ListView listView;
String categoria = "livro";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.map);
final CitySQL dbHelper = new CitySQL(Map.this, null, null, 1);
final SQLiteDatabase db = dbHelper.getWritableDatabase();
final String[] camposDb = {"city", BaseColumns._ID};
cursor = db.query("cities", camposDb, null, null, null, null, "city ASC");
int[] camposView = new int[] {android.R.id.text1};
@SuppressWarnings("deprecation")
final SimpleCursorAdapter adapter = new SimpleCursorAdapter(Map.this,
android.R.layout.two_line_list_item, cursor, camposDb, camposView);
listView= (ListView)findViewById(R.id.city_list);
listView.setAdapter(adapter);
final Geocoder geocoder=new Geocoder(this, Locale.ENGLISH);
listView.setOnItemClickListener(new OnItemClickListener(){
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public void onItemClick(AdapterView<?> parent, View view, int posicao,long id) {
final String morada = listView.getAdapter().getItem(posicao).toString();
Toast.makeText(Map.this, morada, Toast.LENGTH_LONG).show();
Я сделал Toast, чтобы увидеть именно то, что происходит, когда я нажал, но моя цель состоит в том, чтобы получить деталь (название города) и искать место.
'listView.getAdapter(). GetItem (posicao)' возвращает 'Cursor' в положении' posicao'. По-видимому, он содержит 2 столбца. – njzk2