Modifica della barra di azione con frammento quando seleziona un'altra scheda e la barra d'azione dovrebbe essere nella parte superiore della scheda della barra di azione

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

Domanda

! [Quando tocca la scheda 1] [1

! [Quando tocca la scheda 2] [2

Quando seleziono la scheda della barra d'azione, la barra di azione del titolo sopra dovrebbe essere modificata, ma ora posso impostare solo una barra di azione del titolo. Ho stanco quei codice qui sotto. Ma non sono riuscito a trovare alcuna soluzione. Qualcuno può aiutarmi???

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

}

È stato utile?

Soluzione

Ho risolto questo problema. Ho usato il titolo di layout of Action Bar nel metodo Framments OnResume ().

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top