Я пытаюсь узнать, как выбор элементов списка может быть передан в рамках одного действия в приложении Android. Ниже у меня есть простой макет страницы, который создает ListView, который заполняется массивом статических строк. У меня есть три других статических массива строк, перечисленных ниже. Когда страница загружается впервые, она загружает первый массив в ListView. Много кода на этой странице я собрал вместе, читая статьи по Android здесь на stackoverflow, поэтому, если я делаю что-то глупое, я хочу услышать об этом. Моя цель в конечном итоге состоит в том, чтобы эти статические строковые массивы фактически заполнялись из раздутого XML-файла, который синхронизируется с приложением, но обо всем по порядку. Сначала я пытаюсь создать основы.
Итак, у меня есть прослушиватель, настроенный на щелчок элемента для ListView. С чем мне нужно помочь, так это как мне захватить элемент, на который они нажали, и затем воссоздать действие с загруженным в него новым строковым массивом? Я видел один пример, который я эмулировал, и это заставляло приложение выглядеть так, как будто оно действительно меняло страницы каждый раз. Учитывая, что на экране есть статические элементы (строка меню), я бы хотел, чтобы он обновлялся независимо от общего макета (я думаю, лучший способ описать его в веб-терминологии - асинхронно, как в AJAX или jQuery). ).
Порядок событий TEST_1 - это корень с одним выбором. Нажмите на выбор, и он загрузит TEST_2. Если выбран элемент 1 в TEST_2, загрузить TEST_3a и наоборот с 2, TEST_3b.
Надеюсь, это имеет смысл ... дайте мне знать, если я могу уточнить.
открытый класс MyLayout extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(this, R.layout.listlayout, TEST_1));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
//What do I do here?
}
});
}
static final String[] TEST_1 = new String[] {
"Members"
};
static final String[] TEST_2 = new String[] {
"Joe A. Member", "Paula B. User"
};
static final String[] TEST_3a = new String[] {
"Personal", "Medical", "Financial"
};
static final String[] TEST_3b = new String[] {
"Personal", "Medical", "Financial"
};
}