标签: android-viewpager

为什么instantiateItem不调用而Vie​​wPager不起作用?

我尝试使用滑动图像进行简单的应用.我使用这篇文章http://www.androidbegin.com/tutorial/android-viewpager-gallery-images-and-texts-tutorial/.

这是我的xml with viewpager:main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <android.support.v4.view.ViewPager
        android:id="@+id/pages"
        android:layout_height="match_parent"
        android:layout_width="match_parent">
    </android.support.v4.view.ViewPager>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

这是我的xml with image:item.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <ImageView
        android:id="@+id/image"
        android:layout_gravity="center"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:src="@drawable/ic_launcher" />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

这是我的适配器:ViewerPagerAdapter.java

public class ViewerPagerAdapter extends PagerAdapter {

    private Context mContext;
    private ArrayList<CueModel> mArray;
    private LayoutInflater mInflater;
    private ImageView mImage;

    public ViewerPagerAdapter(Context _context){
        mContext = _context;

        mInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }


    public void setArray(ArrayList<Bitmap> arr){
        mArray = arr;
    }

    @Override
    public int getItemPosition(Object object) {  
        return POSITION_NONE; …
Run Code Online (Sandbox Code Playgroud)

java android android-viewpager

1
推荐指数
2
解决办法
7196
查看次数

刷过后如何在视图寻呼机中验证?

假设我的视图寻呼机中有一些片段.我想onPageSelected()在下一个片段之前在方法中进行一些验证.除非验证成功,否则我不想进入下一个片段.另一个问题是,我怎么知道以前的位置?如果我从左向右滑动,前一个位置将是位置-1,如果从右到左,则位置为+ 1.但无论如何要知道用户刷卡的方向.在下面的图片中,如果用户什么都没有填写,它应该保持不变(不用下一个片段).希望得到正确的答案..

在此输入图像描述

android android-fragments android-viewpager

1
推荐指数
1
解决办法
1660
查看次数

ViewPager OnPageChangeListener不起作用

我正在使用自定义ViewPager,当我滑动到新页面时,ViewPager.OnPageChangeListener不起作用.可能是什么原因?

mPager = (WrapContentHeightViewPager) findViewById(R.id.pager);

mPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
    public void onPageScrollStateChanged(int state) {}
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {}

    public void onPageSelected(int position) {
        // Check if this is the page you want.
        currentFav = position;
        Log.i("currentFav pos", currentFav+"");
    }
});
Run Code Online (Sandbox Code Playgroud)

android android-viewpager

1
推荐指数
1
解决办法
6782
查看次数

嵌套ViewPager不显示

我正在编写一个使用嵌套ViewPager的应用程序。每个父ViewPager包含7个子ViewPager。

它适用于第一个父级,但是到达下一个页面时,它在子级Viewpager处显示为空白。

这里有什么建议,甚至可以使用Nested View分页器吗?如果是的话,如何避免这种情况?

父ViewPager布局,与子片段相同:

<FrameLayout
                xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:customfont="http://schemas.android.com/apk/res-auto"
                android:layout_width="match_parent"
                android:layout_height="match_parent" >

                <android.support.v4.view.ViewPager
                    android:id="@+id/calendarViewPager"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" >
                </android.support.v4.view.ViewPager>
Run Code Online (Sandbox Code Playgroud)

这是我从父级ViewPager片段执行的子级ViewPager适配器实现:

private void processDatacardAdapter(View view) {

        childViewPager = (ViewPager) view.findViewById(R.id.childViewPager);

        childSlidePagerAdapter = new ChildSlidePagerAdapter(parentActivity.getSupportFragmentManager());

        childViewPager.setAdapter(childSlidePagerAdapter);

        childViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
            @Override
            public void onPageSelected(int position) {

                Utils.showToast(parentActivity, "sds position : " + position);

            }
        });
    }
Run Code Online (Sandbox Code Playgroud)

android android-viewpager nested-views

1
推荐指数
1
解决办法
531
查看次数

PagerTabStrip - 使标签居中,或使它们合适

我正在使用这个库https://github.com/astuetz/PagerSlidingTabStrip来创建一个PagerTabStrip.

我的输出 在此输入图像描述

你可以看到我的标签之后我有一些空的空间.我想让选项卡适合所有屏幕,或者至少使选项卡居中.那可能吗?

<com.astuetz.PagerSlidingTabStrip
        android:layout_gravity="center_horizontal"
        android:gravity="center_horizontal"
        android:background="@color/facebook_theme_light"
        android:id="@+id/activity_posts_tabs"
        android:layout_width="match_parent"
        android:layout_height="48dip" />

    <android.support.v4.view.ViewPager
        android:background="@color/facebook_theme_dark"
        android:id="@+id/activity_posts_pager"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/activity_posts_tabs"
        tools:context=".MainActivity" />
Run Code Online (Sandbox Code Playgroud)

android android-viewpager

1
推荐指数
1
解决办法
4250
查看次数

为什么ViewPager在第一页重置其他页面数据?

ViewPager在我的应用程序中使用.当我滑到第3页并更改此页面上的某些内容时(比如写入文本EditText)并返回到第1页,然后再次滑动到第3页; 更改已重置(文本已清除).为什么?我该如何预防呢?

我正在使用此代码:

ViewPager tab = (ViewPager) findViewById(R.id.add_cost_pager);

        AddCostPagerAdapter adapter = new AddCostPagerAdapter(
                getSupportFragmentManager());

        tab.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)

AddCostPagerAdapter.class:

private class AddCostPagerAdapter extends FragmentStatePagerAdapter {

    public AddCostPagerAdapter(FragmentManager fm) {
        super(fm);
        // TODO Auto-generated constructor stub
    }

    @Override
    public Fragment getItem(int arg0) {
        switch (arg0) {
        case 0:
            return new Page_1();

        case 1:
            return new page_2();

        case 2:
            return new page_3();

        default:
            return null;
        }
    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return 3;
    }

}
Run Code Online (Sandbox Code Playgroud)

android android-viewpager

1
推荐指数
1
解决办法
305
查看次数

Android View寻呼机:onCreateView被调用两个片段

我正在尝试用2个标签实现滑动视图.为此,我使用带有2个片段的view pager.现在,问题在于,只要打开主活动(包含这两个选项卡),就会为两个片段调用onCreateView函数.请帮助我,因为我怎么能避免在使用第二个片段时调用onCreateView.

谢谢,Arpit

android android-fragments android-viewpager

1
推荐指数
1
解决办法
2248
查看次数

ViewPager InstantiateItem()返回错误的位置值

我是android编程的初学者.我正在使用按钮onclick使用以下代码将新页面添加到viewpager.但是,当在滑动活动上实例化项目时,viewpager返回错误的位置值.

向右滑动即可

正确位置:1,2,3(第2,3和4页)

改错位置:2,3,4

向左滑动即可

正确位置:3,2,1(第4页,第3页和第2页)

改为错误的位置:2,1,0

我想从instantiateItem()获取位置值,以从"views"数组列表中的特定位置获取视图,以显示在viewpager上.错误的位置会导致显示错误的视图.希望可以有人帮帮我!!!提前致谢.

添加按钮:

findViewById(R.id.btnAdd).setOnClickListener(new OnClickListener() {    
            @Override
            public void onClick(View v) {
                LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                View itemView = inflater.inflate(R.layout.image_text_1, null);

                // the array list
                views.add(itemView);

                pagerAdapter.notifyDataSetChanged();

            }
        });
Run Code Online (Sandbox Code Playgroud)

ViewPager:

private class SlideAdapter extends PagerAdapter {
              ArrayList<View> views = new ArrayList<View>();

              @Override
              public int getItemPosition (Object object)
              {
                  int index = views.indexOf((View)object);
                  if(views.contains((View)object)){
                      return index;
                  }else{
                      return POSITION_NONE;
                  }     
              }

              @Override
              public Object instantiateItem (ViewGroup container, final int position)
              {
                    //for example, when …
Run Code Online (Sandbox Code Playgroud)

android layout-inflater android-viewpager

1
推荐指数
1
解决办法
5758
查看次数

Android - 首次推出互动教程

我正在为android编写一个新的应用程序,我想实现第一个启动教程.特别是,教程必须是交互式的.基本上,在用户注册到服务后,将需要最低设置.

我想今天我们已经进入Google Apps,例如Sheets,Docs和迄今为止.例外的是,这些教程的目的是解释应用程序的工作原理.在这里,我希望有一些用户可以输入一些数据的东西.

我正在看ShowcaseView,但似乎已被弃用并且风格老旧.

所以这里的问题是:实现它的最佳方法是什么?ViewPager?

我也看了另外一个问题,但这并没有太大帮助.

任何建议真的很感激.

编辑:我发现了另一个不错的选择.AppIntro看起来我正在寻找.:)

android android-layout android-viewpager android-activity

1
推荐指数
1
解决办法
3191
查看次数

片段重新初始化初始选项卡选项上的内容 - ANDROID

我有一个使用ViewPager的应用程序充当TabHost.问题是,当应用程序启动时,所有显示都很好,在所有3个选项卡之间滑动.

但是,在重新选择第一个选项卡时,应用程序将重新初始化但不显示正确的内容,应用程序应保留Fragments当前状态而不是重新初始化.

码:

TabAdapter.java

public class TabAdapter extends FragmentPagerAdapter{


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

@Override
public Fragment getItem(int position) {

    switch(position){
        case 0:
            return new MapFragmentView();
        case 1:
            return new LogView();
        case 2:
            return new SettingsView();
    }

    return null;
}

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

}

MapsActivity.java(主要活动)

public class MapsActivity extends FragmentActivity implements ActionBar.TabListener {

private ViewPager viewPage;
private TabAdapter myAdapter;
private ActionBar actionBar;
public static FragmentManager fragmentManager;

private String[] tabNames = {"Map", "Log" , "Settings"}; …
Run Code Online (Sandbox Code Playgroud)

tabs android android-fragments android-viewpager fragment-tab-host

1
推荐指数
1
解决办法
942
查看次数