Открытие нового действия с передачей соответствующих данных для отображения правильной информации - это хороший способ сделать то, что вы делаете. Это пример кода списка штатов, который переходит к списку городов в выбранном штате из предыдущего списка. Представление списка состояний из первого действия отправляет название штата в представление списка городов во втором упражнении, в котором отображается список городов из этого состояния.
private ListView lv;
setContentView(R.layout.displaylayout);
lv = (ListView)findViewById(R.id.DisplayList);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent myIntent = new Intent(view.getContext(), DisplayLocationsCities.class);
myIntent.putExtra("state",lv.getItemAtPosition(position).toString());
startActivityForResult(myIntent, 0);
}
});
////////////////////// код кнопки возврата, позволяющий вам вернуться к предыдущему списку (закрыть все, что нужно закрыть в onDestroy ()) :
this.backButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
// equivalent of 'return'
finish();
}
});
////////////////////// Динамическое добавление элементов в ваш список:
String [] list = {"New York","Illinois","California","Wisconsin"};
lv.setAdapter(new ArrayAdapter<String>(this, R.layout.list_item, list));
////////////////////// Extra Credit: макет для каждого элемента listView - R.layout.list_item (list_item.xml в папке res / layout) :
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:cacheColorHint="@android:color/transparent"
android:textSize="12sp" android:textColor="#000000" android:textStyle="bold" android:gravity="center">
</TextView>