Я действительно новичок в Android, и я реализую небольшой проект, в котором у меня есть новости с одного сайта Drupal. Это приложение имеет 3 вкладки, и на каждой вкладке есть список статей с определенным контентом. Список статей создается текстовыми изображениями и изображениями, расположенными в linearlayout. Когда я нажимаю на заголовок, статья открывается с подробностями. Эти статьи загружаются с сайта Drupal через HTTP POST и ViewJSON. Вкладки создаются с помощью FragmentActivity и TabHost. Все нормально и отлично работает до сих пор.
Моя проблема в том, что я хочу сделать одну кнопку обновления, чтобы ее можно было поместить над вкладками, и когда я ее нажимаю, список статей должен обновляться или перезагружаться и сохранять текущую вкладку открытой. Я попытался заменить содержимое фрагмента табуляции и повторно открыть его, но когда я нажимаю на заголовок одной статьи, чтобы открыть его, содержимое вкладки остается в стеке под всеми фрагментами. Я упоминаю, что когда я нажимаю на заголовок статьи, открывается один новый фрагмент. Я отправил идентификатор статей в качестве аргумента, и в том же фрагменте я открываю содержимое статьи.
Я пытался с этим кодом, но не добился успеха.
Button btn_refresh = (Button) findViewById(R.id.btn_refresh);
btn_refresh.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String current_tab = mTabHost.getCurrentTabTag();
if(current_tab.contains("POPULARE")){
Fragment f;
f = new PopulareActivity();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.tot,f);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.commit();
}
if(current_tab.contains("RECOMANDATE")){
Fragment f;
f = new RecomandateActivity();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.tot,f);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.commit();
}
Точнее, я вхожу в приложение, нажмите Tab2 (покажите список статей из tab2), нажмите кнопку обновления, откройте одну статью, нажмите кнопку возврата на мобильном устройстве и покажите мне содержимое tab2. Теперь я вхожу на tab1 (и показываю список статей из tab1), откройте одну статью из списка tab1, покажите мне, что мне нужно, и нажмите кнопку "Назад" с мобильного. В этот момент показано содержимое tab2 (список статей формирует tab2, откуда я нажал кнопку обновления.).
Чтобы открыть детали статьи, я использую:
tv.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Fragment f;
f = new DetaliiActivity();
Bundle data = new Bundle();
data.putInt("id", nid);
f.setArguments(data);
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.tot,f);
ft.addToBackStack(null);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.commit();
}
});
Заранее благодарим за помощь!