gpt4 book ai didi

android - 如何使用 FragmentPagerAdapter 在 fragment 之间滑动

转载 作者:行者123 更新时间:2023-11-30 01:55:34 25 4
gpt4 key购买 nike

我不明白为什么在我的 Fragment 之间滑动不起作用,

这是我的自定义 FragmentPagerAdapter:

public class TabsPagerAdapter extends FragmentPagerAdapter {

public TabsPagerAdapter(FragmentManager fm) {
super(fm);
}

@Override
public Fragment getItem(int index) {

switch (index) {
case 0:
return new PrearrivalPlan();
case 1:
return new PrimarySurvey();
case 2:
return new Vitals();
case 3:
return new SecondarySurvey();
case 4:
return new PrepareForTravel();
}

return null;
}

@Override
public int getCount() {
// get item count - equal to number of tabs
return 5;
}

这是我使用它的 Activity :

public class MainActivity extends FragmentActivity implements ActionBar.TabListener {

private CustomViewPager viewPager;
private TabsPagerAdapter tabsPagerAdapter;
private ActionBar actionBar;

private String[] tabTitles = {"Pre-arrival Plan", "Primary Survey", "Vitals", "Secondary Survey", "Prepare for Travel"};
private int totalTabs = 5;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

viewPager = (CustomViewPager) findViewById(R.id.pager);
actionBar = getActionBar();
tabsPagerAdapter = new TabsPagerAdapter(getSupportFragmentManager());

viewPager.setAdapter(tabsPagerAdapter);
viewPager.setPagingEnabled(false);

actionBar.setHomeButtonEnabled(true);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

viewPager.setOnPageChangeListener(new CustomViewPager.OnPageChangeListener() {

@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

}

@Override
public void onPageSelected(int position) {
actionBar.setSelectedNavigationItem(position);
}

@Override
public void onPageScrollStateChanged(int state) {

}

});

viewPager.setOffscreenPageLimit(totalTabs);

// Remove Android icon from Action Bar
getActionBar().setIcon(new ColorDrawable(getResources().getColor(android.R.color.transparent)));
getActionBar().setDisplayShowHomeEnabled(false);

// Add tabs to Action Bar
for (String tab_name : tabTitles) {
SpannableString s = new SpannableString(tab_name);
s.setSpan(new TypefaceSpan("helveticaneuelight.ttf"), 0, s.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
actionBar.addTab(actionBar.newTab().setText(s).setTabListener(this));
}

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}

public void updateTabTitles(int tabNumber, int checkBoxesRemaining) {
String text = tabTitles[tabNumber] + "\n (" + checkBoxesRemaining + " unchecked)";

actionBar.getTabAt(tabNumber).setText(text);
}

@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
viewPager.setCurrentItem(tab.getPosition());
}

@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {

}

@Override
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {

}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {

case android.R.id.home:
Intent intent = new Intent(this, MainMenu.class);
startActivity(intent);
return true;

case R.id.complete:
DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which){
case DialogInterface.BUTTON_POSITIVE:
goToReport();
break;
case DialogInterface.BUTTON_NEGATIVE:
// "No" button clicked, do nothing
break;
}
}
};
AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setMessage("Are you sure you want to complete the checklist?").setPositiveButton("Yes", dialogClickListener).setNegativeButton("No", dialogClickListener).show();
return true;

default:
return super.onOptionsItemSelected(item);
}
}

public void goToReport() {
Intent intent = new Intent(this, Report.class);
startActivity(intent);
}
};

最佳答案

会不会是这个viewPager.setPagingEnabled(false);方法?尝试取消该方法,或者至少将其设置为 true。

关于android - 如何使用 FragmentPagerAdapter 在 fragment 之间滑动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32303132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com