【发布时间】:2016-11-07 10:29:51
【问题描述】:
我必须在我的应用程序中使用Fragments,所以我有谁的时刻,但其中一个片段将包含另一个片段,我需要ViewPager。我发现了很多带有指南的文章,几乎完成了,但我必须将我的一个片段转换为FragmentActivity,这就是为什么我不能像平常一样使用它Fragment。如何创建这样的树,我将有 4 个片段,其中一个将是另一个片段的父母。
public boolean onNavigationItemSelected(MenuItem item)
{
// Handle navigation view item clicks here.
int id = item.getItemId();
android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
if (id == R.id.nav_new_order)
{
fragmentTransaction.replace(R.id.container, fNewOrder);
}
else if (id == R.id.nav_orders)
{
fragmentTransaction.replace(R.id.container, fOrders);
}
else if (id == R.id.nav_settlements)
{
fragmentTransaction.replace(R.id.container, fSettlements);
}
else if (id == R.id.nav_about_us)
{
fragmentTransaction.replace(R.id.container, fAboutUs);
}
else if (id == R.id.nav_exit)
{
// exit
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
intent = new Intent(this, Login.class);
startActivity(intent);
}
fragmentTransaction.commit();
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
assert drawer != null;
drawer.closeDrawer(GravityCompat.START);
return true;
}
这里我有我的“宝贝”,我必须在我的片段之一中使用它。它已经实现,它可以工作,但我不能调用它,因为我有这个问题:parrent 不再是Fragment
public class fragmentAboutUs extends FragmentActivity
{
static final String TAG = "myLogs";
static final int PAGE_COUNT = 4;
ViewPager pager;
PagerAdapter pagerAdapter;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_about_us_pages);
pager = (ViewPager) findViewById(R.id.pager);
pagerAdapter = new fragmentAboutUs.MyFragmentPagerAdapter(getSupportFragmentManager());
pager.setAdapter(pagerAdapter);
pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener()
{
@Override
public void onPageSelected(int position)
{
Log.d(TAG, "onPageSelected, position = " + position);
}
@Override
public void onPageScrolled(int position, float positionOffset,
int positionOffsetPixels)
{
}
@Override
public void onPageScrollStateChanged(int state)
{
}
});
}
private class MyFragmentPagerAdapter extends FragmentPagerAdapter
{
private MyFragmentPagerAdapter(FragmentManager fm)
{
super(fm);
}
@Override
public Fragment getItem(int position)
{
return AboutUsPages.newInstance(position);
}
@Override
public int getCount()
{
return PAGE_COUNT;
}
}
}
那么我应该怎么做,如何使用我的父母作为片段,但也实现孩子?
【问题讨论】:
标签: java android android-fragments