다른 탭을 선택할 때 파편이있는 액션 막대 변경 및 액션 바 탭 상단에 있어야합니다.

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

문제

! [탭에서 탭 할 때] [1

! [탭을 탭할 때 2] [2

액션 바 탭을 선택하면 위의 제목 조치 바는 변경되어야하지만 지금 하나의 타이틀 액션 바만 설정할 수 있습니다. 아래 코드가 피곤했습니다. 그러나 나는 어떤 해결책도 찾을 수 없었습니다. 아무도 나를 도울 수 있습니까 ???

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

}

도움이 되었습니까?

해결책

이 문제를 해결했습니다. 액션 바 제목의 레이아웃을 Fragments OnResume () 메소드에 사용했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top