Java 使用ViewPager组件

Java 使用ViewPager组件,java,android,android-fragments,android-viewpager,android-fragmentactivity,Java,Android,Android Fragments,Android Viewpager,Android Fragmentactivity,我是Android开发新手。我正在创建一个带有片段的应用程序。下面是示意图 Homescreen拥有对所有其他屏幕的root访问权限Sales是一个ViewPager和所有其他售后屏幕都是它的一部分。用户可以滑动和访问 但我确实有个问题。我计划在此应用程序中使用一个FragmentActivity。这是主页。主屏幕是按钮的集合,带有图像。如果用户单击“销售”按钮,则主页屏幕会像查看页面动画一样翻转,并访问销售屏幕;如果用户单击“时间管理器”按钮,则Home屏幕将翻转,就像ViewPager动画

我是Android开发新手。我正在创建一个带有
片段的应用程序。下面是示意图

Home
screen拥有对所有其他屏幕的root访问权限
Sales
是一个
ViewPager
和所有其他售后屏幕都是它的一部分。用户可以滑动和访问

但我确实有个问题。我计划在此应用程序中使用一个
FragmentActivity
。这是
主页
。主屏幕是按钮的集合,带有图像。如果用户单击“销售”按钮,则
主页
屏幕会像
查看页面
动画一样翻转,并访问
销售
屏幕;如果用户单击“时间管理器”按钮,则
Home
屏幕将翻转,就像
ViewPager
动画和访问
TimeManager
屏幕一样

以下是
主屏幕的代码

public class MainActivity extends FragmentActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.home);

    }
现在想象我在
Sales
屏幕上。正如我前面提到的,它有一系列页面(
newlead
EditInfo
),用户可以通过滑动来访问这些页面。所以它应该是一个
查看页面

基于以上信息,我不得不问两个问题

  • 主页
    屏幕中,用户如何单击按钮并使屏幕滑动以访问下一个屏幕?当用户在下一个屏幕(例如:待办事项列表)时,我更喜欢让他向右滑动回到
    主页
    屏幕。如果这是不可能的,至少按下后退按钮应该进行滑动。我该怎么做

  • 这只包含一个应用程序
    FragmentActivity
    ,而
    FragmentActivity
    类包含主屏幕的UI。那么我应该把
    Sales
    屏幕的
    ViewPager
    放在哪里呢<代码>销售
  • 是一个
    片段
    而不是
    片段活动
    。那么,我如何帮助it部门通过ViewPager导航到NewLead并编辑信息页面呢

    请帮忙

    更新

    由于建议我对
    ViewPager
    使用
    片段
    ,我想知道是否最好为
    ViewPager
    创建单独的片段。下面是代码。你有什么建议

    public class ViewPagerManager extends Fragment{
    
        private static final int ITEMS = 2;
        private ViewPager viewPager;
        private MyAdapter pageAdapter;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            this.requestWindowFeature(Window.FEATURE_NO_TITLE);
            setContentView(R.layout.activity_leads_and_sales_handling);
    
            viewPager = (ViewPager)findViewById(R.id.pager);
            pageAdapter = new MyAdapter(getSupportFragmentManager());
            viewPager.setAdapter(pageAdapter);
        }
    
    
    
    private  class MyAdapter extends FragmentPagerAdapter {
    
            public MyAdapter(FragmentManager fragmentManager) {
                super(fragmentManager);
            }
    
            @Override
            public int getCount() {
                return ITEMS;
            }
    
            @Override
            public Fragment getItem(int position) {
                if(position==0)
                {
                    return new SalesInqury();
                }
                else
                {
                    return new NewLead();
                }
            }
        }
    }
    

    使用
    android.animation
    框架在主屏幕的片段之间切换时,可以更改使用的动画。可在此处找到更多信息:


    在sales fragment(销售片段)中,您将有一个您建议的
    ViewPager
    ,此
    ViewPager
    将包含另外3个
    片段,一个用于销售,一个用于新Lead,一个用于编辑信息。希望这对您有意义

    No.“Sales”类是Sales.java,“NewLead”类是NewLead.java等等。ViewPager应该在FragmentActivity中实现,而不是在Fragment中实现,对吗?所有这些屏幕都是片段。你可以在任何你想使用的地方使用ViewPager。它不一定是在一个零碎的活动中。如果您希望销售、新潜在客户和编辑信息成为查看页面的一部分,那么它们应该是片段。然后创建一个ViewPager对象并将3个片段添加到其中,然后我是否应该创建一个单独的片段来保存ViewPager?我已经更新了一个示例代码,请看一看。是的,您的代码看起来不错。工作正常吗?为了方便您,您可以在查看页面时使用SlidePagerAdapter。所以viewPager.setAdapter(新的SlidePagerAdapter(activity.getFragmentManager(),fragment1,fragment2,fragment3))我不知道。这是一个快速训练。我没有检查。我会很快让你知道。