이 문제를 해결했습니다. 액션 바 제목의 레이아웃을 Fragments OnResume () 메소드에 사용했습니다.
다른 탭을 선택할 때 파편이있는 액션 막대 변경 및 액션 바 탭 상단에 있어야합니다.
-
29-07-2022 - |
문제
! [탭에서 탭 할 때] [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;
}
}
해결책
제휴하지 않습니다 StackOverflow