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

StackOverflow https://stackoverflow.com/questions/19850825

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;
}

}

Foi útil?

Solução

Eu resolvi esse problema. Eu usei o título do layout da ação no método Fragments onResume ().

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top