Android 앱에 조각이있는 ViewPager가 있습니다. ViewPager의 조각에 따라 Action Bar 메뉴 항목을 표시하고 싶습니다. 이것에 대한 몇 가지 질문을 읽었지만 올바른 해결책을 찾을 수 없습니다. 내 ViewPager의 코드는 다음과 같습니다.ViewPager에 따라 메뉴 항목 표시 Android
public class My_Activity extends ActionBarActivity {
private ViewPager mViewPager;
String idioma;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_main);
ActionBar actionBar = getSupportActionBar(); // || getActionBar();
actionBar.setIcon(getResources().getDrawable(R.drawable.navbar_logo));
actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#CC3333")));
actionBar.setTitle("Hello");
mViewPager = (ViewPager) findViewById(R.id.viewpager);
PagerTabStrip pagerTabStrip = (PagerTabStrip) findViewById(R.id.pagerTabStrip);
pagerTabStrip.setTabIndicatorColor(getResources().getColor(R.color.blanco));
Title_Liga_Adapter titleAdapter = new Title_Liga_Adapter(getSupportFragmentManager());
mViewPager.setAdapter(titleAdapter);
mViewPager.setCurrentItem(0);
getSupportActionBar().setIcon(R.drawable.navbar_logo);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
if (mViewPager.getCurrentItem()==4){
getMenuInflater().inflate(R.menu.menu_comunidad, menu);
}
else{
}
return true;
}
/* *
* Called when invalidateOptionsMenu() is triggered
*/
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
menu.findItem(R.id.action_search).setVisible(true);
return super.onPrepareOptionsMenu(menu);
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
this.finish();
return true;
case R.id.action_search:
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
예를 들어 CurrentItem이 4 인 경우에는 메뉴 항목 아이콘을 표시합니다.
당신은 OnPageChangeListener http://developer.android.com/reference/android/support/v4/view/ViewPager.OnPageChangeListener.html 구현할 수 있습니다 당신은 당신이 onPageSelected에하고 싶은 이제까지 무엇을 할 수 기능. –
onPageChangeListener를 사용하여 코드를 업데이트했지만이 내부에서 메뉴를 만드는 방법은 무엇입니까? invalidateOptionMenu 기능 onCreateOptionMenu는이 MenuInflater 인플레이터 = getMenuInflater()와 같은 눈에 보이는 페이지에 따라 메뉴를 부풀려 수 있습니다 여기에 호출됩니다 호출하여 invalidateOptionMenu 기능 onCreateOptionMenu 당신이 볼 수 페이지 – Elena
; inflater.inflate (메뉴 menu, menu); –