标签: android-viewpager

TabLayout选项卡选择

如何以编程方式在TabLayout中选择选项卡?

 TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
 tabLayout.setupWithViewPager(viewPager);
Run Code Online (Sandbox Code Playgroud)

android android-viewpager android-design-library android-tablayout

212
推荐指数
14
解决办法
16万
查看次数

获取viewpager中的当前Fragment实例

下面是我的代码,3 Fragment classes每个代码都嵌入了3个选项卡中的每一个ViewPager.我有一个菜单选项.如图所示onOptionsItemSelected(),通过选择一个选项,我需要更新当前可见的片段.要更新,我必须调用片段类中的方法.有人可以建议如何调用该方法吗?

public class MainActivity  extends ActionBarActivity {

     ViewPager ViewPager;
     TabsAdapter TabsAdapter;

     @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            ViewPager = new ViewPager(this);
            ViewPager.setId(R.id.pager);
            setContentView(ViewPager);

            final ActionBar bar = getSupportActionBar();

            bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

            //Attaching the Tabs to the fragment classes and setting the tab title.
            TabsAdapter = new TabsAdapter(this, ViewPager);
            TabsAdapter.addTab(bar.newTab().setText("FragmentClass1"),
                    FragmentClass1.class, null);
            TabsAdapter.addTab(bar.newTab().setText("FragmentClass2"),
              FragmentClass2.class, null);
            TabsAdapter.addTab(bar.newTab().setText("FragmentClass3"),
              FragmentClass3.class, null);


            if (savedInstanceState != null) {
                bar.setSelectedNavigationItem(savedInstanceState.getInt("tab", 0));
            }

        }

        @Override
        public boolean onOptionsItemSelected(MenuItem item) {

            switch …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager

197
推荐指数
11
解决办法
20万
查看次数

如何使用不同的片段/布局实现ViewPager

当我启动一个实现viewpager的活动时,viewpager创建了各种片段.我想为每个片段使用不同的布局,但问题是viewpager在最大值时只显示两个布局(在1之后的所有剩余片段上的第二个布局).

以下是实现viewpager的SwipeActivity的代码:

public class SwipeActivity extends FragmentActivity
{

    MyPageAdapter pageAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_swipe);
        pageAdapter = new MyPageAdapter(getSupportFragmentManager());
        ViewPager pager=(ViewPager)findViewById(R.id.pager);
        pager.setAdapter(pageAdapter);
        ActionBar bar = getActionBar();
        bar.setDisplayHomeAsUpEnabled(true);
    }
    /**
    * Custom Page adapter
    */
    private class MyPageAdapter extends FragmentPagerAdapter
    {
        public MyPageAdapter(FragmentManager fm)
        {
            super(fm);
        }
        @Override
        public int getCount()
        {
            return 5;
        }
        @Override
        public Fragment getItem(int position)
        {
            switch(position)
            {
                case 0: return new MyFragment();
                case 1: return SecondFragment.newInstance("asdasd");
                default : return RamFragment.newInstance("s"); …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-fragments android-viewpager fragmentpageradapter

188
推荐指数
3
解决办法
26万
查看次数

使用ViewPager的Android.app Fragments与android.support.v4.app?

我有一个关于Android支持库,片段的问题,并且作为一个具体的例子,ViewPager该类.我的目的是创建一个与Android Developer网站上提供的示例功能类似的应用程序(http://developer.android.com/training/animation/screen-slide.htmlhttp://developer.android.com/ training/implementation-navigation/lateral.html).查看他们的代码,我注意到他们使用了android.support.v4.app库,我的研究是访问ViewPager该类的唯一方法.

在我的情况下,我对向后兼容性没兴趣.最低API级别为14(Ice Cream Sandwich),构建目标为4.2 Jelly Bean.在它最简单的形式中,我的应用程序与我在Android开发网站上链接的第二个演示完全一样 - 只需在三个选项卡之间滑动,每个选项卡中包含内容.

我读过的所有文章/帖子/答案似乎都非常支持v4支持库.现在,对于我,尽管是冗长的问题:

  1. 构建我的应用程序的最佳方法是什么 - 使用android.support.v4.app,从而使用SupportFragments,或使用提供的片段android.app- 以及为什么?

  2. 如果碎片来自android.app何方,最佳接近方式是ViewPagers什么?

  3. 如果SupportFragments最适合这项任务,我估计它们具有与另一项相同的功能 - 那么在内部拥有它们的目的是什么android.app

希望有更清楚理解的人可以给我一些澄清,因为我很难过......

android android-fragments android-viewpager android-support-library

182
推荐指数
1
解决办法
6万
查看次数

带有底部点的Android ViewPager

我想在我的ViewPager中添加3个底部点,就像这样.

3个底点 3个底点 3个底点

我使用FragmentActivity并支持库ViewPager.

user-interface android android-viewpager viewpagerindicator android-fragmentactivity

164
推荐指数
8
解决办法
13万
查看次数

动态添加和删除视图到viewpager

(我想出了一个解决方案 - 请在下面的答案部分看到我的帖子.)

在我的应用程序中,用户将从他的数据的单个视图开始.我想添加一个ViewPager,并允许用户根据需要添加更多视图.我该怎么做呢?(我不想使用FragmentPagerAdapter.)

我已经阅读了无数的帖子和概述,但我仍然遗漏了一些东西.这是我认为我理解的:

MainActivity创建一个ViewPager和PagerAdapter:

ViewPager pager = null;
MainPagerAdapter adapter = null;
public void onCreate (Bundle savedInstanceState)
{
  super.onCreate (savedInstanceState);
  pager = new ViewPager (this);
  setContentView (pager);

  adapter = new MainPagerAdapter();
  pager.setAdapter (adapter); 

  View v0 = code_to_create_initial_view();
  adapter.add (v0, 0);      
}
Run Code Online (Sandbox Code Playgroud)

使用PagerAdapter提供视图集.为此,我似乎需要添加和删除视图的方法,就像这样; 显然需要更多的东西来告诉ViewPager的内容已经改变以及如何显示更改:

class MainPagerAdapter extends PagerAdapter
{
  // This holds all the currently displayable views, in order from left to right.
  private ArrayList<View> views = new ArrayList<View>();

  public void addView (View v, int position)
  {
    views.add (position, …
Run Code Online (Sandbox Code Playgroud)

android swipe android-viewpager

160
推荐指数
2
解决办法
17万
查看次数

如何更改ViewPager的页面?

我在我的应用程序中使用ViewPager并在主Activity中定义它.在Inside onCreate方法中,我从SharedPreferences加载了一些页面,然后将它传递给PagerAdapter:

@Override
public int getCount() {
    return numberOfPages;
}
Run Code Online (Sandbox Code Playgroud)

问题是,如果我将Preferences(或其他Activity)中的这个数字更改为我之前查看过的其他页面索引,我的应用程序崩溃了,因为当我使用此ViewPager返回活动时,此索引超出范围.只需更改活动的ViewPager页面即可修复它.有什么办法吗?

android android-viewpager

146
推荐指数
4
解决办法
11万
查看次数

如何使用点指示器创建Android View寻呼机?

可能你们很多人(像我一样)都有ViewPager使用底点创建的问题,像这样: 在此输入图像描述

你如何创建这样的Android ViewPager?

android indicator android-viewpager android-tablayout

142
推荐指数
5
解决办法
7万
查看次数

作为ViewPager的一部分更新ListFragment中的数据

我正在使用Android中的v4兼容性ViewPager.我的FragmentActivity有一堆数据,可以在我的ViewPager中的不同页面上以不同的方式显示.到目前为止,我只有3个相同的ListFragment实例,但将来我将有3个不同的ListFragments实例.ViewPager位于垂直电话屏幕上,列表不是并排的.

现在,ListFragment上的一个按钮启动一个单独的整页活动(通过FragmentActivity),它返回并且FragmentActivity修改数据,保存数据,然后尝试更新其ViewPager中的所有视图.就在这里,我被卡住了.

public class ProgressMainActivity extends FragmentActivity
{
    MyAdapter mAdapter;
    ViewPager mPager;

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
    ...
        mAdapter = new MyAdapter(getSupportFragmentManager());

        mPager = (ViewPager) findViewById(R.id.viewpager);
        mPager.setAdapter(mAdapter);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data)
    {
        ...
        updateFragments();
        ...
    }
    public void updateFragments()
    {
        //Attempt 1:
        //mAdapter.notifyDataSetChanged();
        //mPager.setAdapter(mAdapter);

        //Attempt 2:
        //HomeListFragment fragment = (HomeListFragment) getSupportFragmentManager().findFragmentById(mAdapter.fragId[0]);
        //fragment.updateDisplay();
    }

    public static class MyAdapter extends FragmentPagerAdapter implements
         TitleProvider
    {
      int[] fragId = {0,0,0,0,0};
      public MyAdapter(FragmentManager fm)
      {
         super(fm);
      }
      @Override …
Run Code Online (Sandbox Code Playgroud)

android android-adapter android-fragments android-viewpager android-listfragment

141
推荐指数
5
解决办法
7万
查看次数

具有上一页和下一页边界的ViewPager

我正在设计一个包含多个页面的视图.我希望上一页和下一页的边缘显示如下,并实现双指滑动以在页面之间切换.

在此输入图像描述

我尝试使用这里ViewPager建议的负页边距,但只显示屏幕上的一个边,而不是同时显示.

或者,有什么方法可以将我的视图的一部分放在屏幕外,然后设置它的动画,给它一个ViewPager类型效果.

我该怎么办呢?谢谢 !

android viewflipper android-viewpager viewanimator

139
推荐指数
5
解决办法
8万
查看次数