У меня есть действие с просмотром списка, в котором отображаются результаты предыдущего просмотра списка. Два вида просмотра списка:
Список городов.
Список улиц в этом городе.
Когда я выбираю улицу в своем ListView, я хочу заполнить другое действие определенными сведениями об улице, которые хранятся в моей базе данных (например, рестораны или достопримечательности).
Я пытаюсь передать _id улицы, по которой я щелкнул, и получить ее в своем новом действии (так же, как я делал с действием «Город на улицу»), но я не могу вернуть никаких результатов. Ниже мой код. Буду признателен за любую помощь в попытке выяснить это.
Вот часть моего кода, чтобы получить информацию о нажатии на определенную улицу. Проще говоря, я просто пытаюсь отобразить идентификатор и имя снова, чтобы получить что-то для заполнения из строки:
@Override
protected void onListItemClick(ListView parent, View view, int position, long id) {
//super.onListItemClick(parent, view, position, id);
Intent intent = new Intent(this, Street_Details.class);
Cursor cursor = (Cursor)adapter.getItem(position);
intent.putExtra("Street_ID", cursor.getInt(cursor.getColumnIndex("_id")));
startActivity(intent);
}
И вот мой код в моей новой деятельности, чтобы отобразить некоторые детали этой улицы:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.peak_details);
Intent i = getIntent();
streetId = getIntent().getIntExtra("Street_ID", 0);
db.openDataBase();
Cursor cursor = myDataBase.rawQuery("SELECT _id as _id, City_id, Street FROM Streets WHERE _id = '" +streetId+"'", null);
if (cursor.getCount() == 1)
{
cursor.moveToFirst();
elevation = (TextView) findViewById(R.id.elevation);
elevation.setText(cursor.getString(cursor.getColumnIndex("Street_Id)));
elevation1 = (TextView) findViewById(R.id.elevation1);
elevation1.setText(cursor.getString(cursor.getColumnIndex("Street")));
}
Любая помощь будет отличной! Спасибо за поиск.