Eu resolvi esse problema. Eu usei o título do layout da ação no método Fragments onResume ().
Alterar a barra de ação com fragmento quando selecione outra guia e a barra de ação deve estar no topo da guia da barra de ação
-
29-07-2022 - |
Pergunta
! [Quando toque na guia 1] [1
! [Quando toque na guia 2] [2
Quando selecionar a guia da barra de ação, a barra de ação do título acima deve ser alterada, mas posso definir apenas uma barra de ação de título agora. Eu cansei esse código abaixo. Mas não consegui encontrar nenhuma solução. Alguém pode me ajudar???
package com.ActionBar.Tab;
public class MainActivity extends Activity {
// Declare Tab variables
ActionBar.Tab tab1, tab2, tab3;
TextView tab1TV, tab2TV, tab3TV;
Fragment Fragment1 = new Fragment1();
Fragment Fragment2 = new Fragent2();
Fragment Fragment3 = new Fragment3();
View view1,view2,view3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity__main);
RelativeLayout custom = new RelativeLayout(getApplicationContext());
ActionBar.LayoutParams params = new ActionBar.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
custom.setLayoutParams(params);
custom.setGravity(Gravity.CENTER);
ActionBar actionBar = getActionBar();
actionBar.show();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
LayoutInflater inflater = (LayoutInflater) this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
tab1TV = (TextView) findViewById(R.id.tab1Tv);
tab2TV = (TextView) findViewById(R.id.tab2Tv);
tab3TV = (TextView) findViewById(R.id.tab3Tv);
// Create Actionbar Tabs
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
// set Tab name
tab1 = actionBar.newTab().setCustomView(tab1TV);
tab2 = actionBar.newTab().setCustomView(tab2TV);
tab3 = actionBar.newTab().setCustomView(tab3TV);
// set tab listener
tab1.setTabListener(new TabListener(tab1Fragment));
tab2.setTabListener(new TabListener(tab2Fragment));
tab3.setTabListener(new TabListener(tab3Fragment));
// Add tabsto the action bar
actionBar.addTab(tab1);
actionBar.addTab(tab2);
actionBar.addTab(tab3);
int a = R.layout.layout__tab1_action_bar;
view1 = inflater.inflate(a,null);
int b=R.layout.layout_tab2_action_bar;
view2 = inflater.inflate(b,null);
int c= R.layout.layout_tab3_action_bar;
view3 = inflater.inflate(c,null);
actionBar.setCustomView(view1);
/*Here the title action bar will change with view1,view2,view3
with tab selection but I can only set one action bar*/
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
Solução
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow