我是Android的新手,我正在实施一个小项目,我从一个Drupal网站获得新闻.此应用程序有3个选项卡,每个选项卡都有一个包含特定内容的文章列表.文章列表由在linearlayout中排列的textviews和imageview创建.当我点击标题时,文章正在打开详细信息.这些文章是通过HTTP POST和ViewJSON模块从Drupal站点加载的.使用FragmentActivity和TabHost创建选项卡.一切都很好,直到这里工作正常.
我的问题是我想制作一个刷新按钮,放在标签上,当我按下它时,文章列表必须刷新或重新加载并保持当前标签打开.我试图替换标签片段内容并重新打开它,但是当我点击一篇文章的标题打开它时,标签内容仍保留在所有片段下的堆栈中.我提到当我点击文章标题时,会打开一个新片段.我发送了一篇文章的id作为论据,并在同一篇文章中打开了文章的内容.
我尝试使用此代码但没有成功.
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();
}
Run Code Online (Sandbox Code Playgroud)
更确切地说,我进入应用程序,按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); …Run Code Online (Sandbox Code Playgroud)