Как открыть другой ListView после того, как одна из строк в предыдущем ListView была нажата? - PullRequest
0 голосов
/ 03 февраля 2011

Я хочу знать, как открыть еще один ListView после того, как была нажата одна из строк в предыдущем ListView?

Пчелиный VOA-ридер может быть хорошим примером, чтобы понять, о чем я говорю.

List A                          List B
DeskTop Development    --->     Buttons
                                TextView
                                ScrollBar
Mobile 
Graphic
Game

Таким образом, на экране телефона есть один список A, и в списке есть много тем A Если я нажму одну из тем, скажем, DeskTop Development, то весь ListView будетсоскользнул с экрана и будет представлен новый список Б.

Так как же это реализовать?

Ответы [ 2 ]

0 голосов
/ 03 февраля 2011

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

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>
0 голосов
/ 03 февраля 2011

Реализуйте метод onListItemClick (), чтобы при щелчке он запускал новую ListActivity.Таким образом, навигация в меню будет проще, так как вы сможете использовать кнопку возврата.

...