标签: android-viewpager

嵌套片段可能吗?

我有一个ViewPager包含三个片段,我想将3个新片段放入第三个片段.这可能吗?

[ViewPager]
    [Fragment 1]
    [Fragment 2]
    [Fragment 3]
        [Fragment 3-1]
        [Fragment 3-2]
        [Fragment 3-3]
[ViewPager]
Run Code Online (Sandbox Code Playgroud)

编辑:我不能getChildFragmentManager()但只能getFragmentManager(),我正在使用android.support.v4.app:

    FragmentManager fm = getFragmentManager();
    FragmentTransaction ft = fm.beginTransaction();
    ft.add(R.layout.tools_frame5, new Plugins());
    ft.commit();
Run Code Online (Sandbox Code Playgroud)

编辑:如何将3个活动放在第三个片段中,这可能吗?

android android-fragments android-viewpager android-nested-fragment

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

Android:重写方法时出错

我正在关注官方Android文档中的页面翻转教程:http: //developer.android.com/training/animation/screen-slide.html

覆盖getItem(int)方法时,我收到此错误:

'ScreenSlidePagerAdapter类'中的getItem(int)与'android.support.v4.app.FragmentStatePagerAdapter'中的getItem(int)冲突; 尝试使用不兼容的返回类型.

我的自定义片段类扩展了Fragment,就像在教程中一样.

为了确保我没有做错,我复制并粘贴了示例代码以测试它(更改所需的名称).

我究竟做错了什么?

android fragment android-viewpager

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

如何阻止Android ViewPager滚过某一点?

我不确定我是否正确地接近这个问题,并希望从友好的SO社区获得一些建议.基本上,我希望得到一个效果,如从屏幕左侧出来的滑动菜单,但我希望菜单和主屏幕共享相同的背景.因此,当菜单出来时,它只是将主要内容推向右侧,但它们共享相同的背景.

我已经尝试使用ViewPager,将菜单放在位置0,主要内容放在位置1.它看起来很好,除了我不知道如何阻止ViewPager回到原来的位置或者完全转到下一页.我希望它大约停止一半.我尝试重写ViewPager的onTouch()方法,我可以识别视图被拖动的一半,但我不知道如何将其锁定到位.

有任何想法吗?

android slidingdrawer android-fragments android-viewpager slidingmenu

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

使用片段和imageview在viewpager中出现内存不足错误

我有这个内存不足错误我有一个viewpager使用活动而不是片段和imageview然后当我得到这个错误我把它改为片段...但这个错误一直显示我尝试了很多解决方案没有一个工作...

我的代码:

public class ScreenSlidePageFragment extends Fragment {

    public static final String ARG_PAGE = "page";
    private int mPageNumber;
    private int[] pics = {R.drawable.intro1, R.drawable.intro2,R.drawable.intro3,R.drawable.intro4,R.drawable.intro5,R.drawable.intro6,R.drawable.intro7,R.drawable.intro8,
            R.drawable.intro9,R.drawable.intro10,R.drawable.intro11,R.drawable.intro12,R.drawable.intro13,R.drawable.intro14,R.drawable.intro15,R.drawable.intro16,R.drawable.intro17,R.drawable.intro18,
            R.drawable.intro19,R.drawable.intro20,R.drawable.intro21,R.drawable.intro22,R.drawable.intro23,R.drawable.intro24,R.drawable.intro25,R.drawable.intro26,R.drawable.intro27,R.drawable.intro28,R.drawable.intro29,R.drawable.intro30,
            R.drawable.intro31,R.drawable.intro32,R.drawable.intro33,R.drawable.intro34,R.drawable.intro35,R.drawable.intro36,R.drawable.intro37,R.drawable.intro38,R.drawable.intro39,R.drawable.intro40,R.drawable.intro41,R.drawable.intro42,
            R.drawable.intro43,R.drawable.intro44,R.drawable.intro45,R.drawable.intro46,R.drawable.intro47,R.drawable.intro48,R.drawable.intro49,R.drawable.intro50,R.drawable.intro51,R.drawable.intro52,R.drawable.intro53,R.drawable.intro54,
            R.drawable.intro55,R.drawable.intro56,R.drawable.intro57,R.drawable.intro58,R.drawable.intro59,R.drawable.intro60,R.drawable.intro61,R.drawable.intro62,R.drawable.intro63,R.drawable.intro64,R.drawable.intro65,R.drawable.intro66,
            R.drawable.intro67,R.drawable.intro68,R.drawable.intro69,R.drawable.intro70,R.drawable.intro71,R.drawable.intro72,R.drawable.intro73};
    int count=72;//it's the number of the images-1;



    public static ScreenSlidePageFragment create(int pageNumber) {
        ScreenSlidePageFragment fragment = new ScreenSlidePageFragment();
        Bundle args = new Bundle();
        args.putInt(ARG_PAGE, pageNumber);
        fragment.setArguments(args);
        return fragment;
    }

    public ScreenSlidePageFragment() {
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mPageNumber = getArguments().getInt(ARG_PAGE);
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup …
Run Code Online (Sandbox Code Playgroud)

android android-imageview android-fragments android-viewpager

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

ViewPager&tabs:单击选项卡后延迟

我用ViewPager写了一个FragmentActivity,我不想使用操作栏作为标签(因为我不希望标签位于菜单上)而且也不是PagerTabStrip解决方案,因为我无法按照我想要的方式自定义它.

所以我写了一个自己的linearlayout作为标签容器:

<LinearLayout
    android:id="@+id/main_tabs"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/white"
    android:orientation="horizontal" >
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

每个选项卡都有一个View.OnClickListener

OnClickListener onClickListener = new View.OnClickListener() {
        @Override
        public void onClick(final View view) {
            mapTabs.get(lastSelectedTab).setSelected(false);
            view.setSelected(true);

            Runnable runnable = new Runnable() {                    
                @Override
                public void run() {
                    int index = Integer.parseInt(view.getTag().toString());
                    FragmentActivity.setTab(index);
                    lastSelectedTab = index;
                }
            };
            handler.post(runnable);                 
        }
    };
}



public static void setTab(int index) {      
    FragmentActivity.viewPager.setCurrentItem(index, true); // true or false does not make any difference
}
Run Code Online (Sandbox Code Playgroud)

这是我编写的方法将单个选项卡添加到选项卡容器(main_tabs):

private void addTab(LayoutInflater inflater, ViewGroup tabs, int imageId, View.OnClickListener onClickListener) …
Run Code Online (Sandbox Code Playgroud)

android android-viewpager android-tabs

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

捕获滑动以关闭ViewPager中的listview手势

我有一个ListView抓取滑动手势删除一行.这ListView住在一个Fragment.在手机上,这是它自己的,Activity并且工作得很好.在平板电脑上,这Fragment是一个,ViewPager并且ListView永远不能捕获任何滑动事件,因为他们总是去ViewPager.

我将如何确保ListView在传递到消息之前消费者捕获滑动手势ViewPager

PS我正在使用这个库来轻扫我的手势ListView

android android-listview android-fragments swipe-gesture android-viewpager

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

在ViewPager中旋转后,选项卡内容消失

我将FragmentTabHost放入ViewPager,但是在旋转设备后标签内容已经消失.如果我单击另一个选项卡以刷新内容,则选项卡内容将返回.我的代码有什么问题吗?请帮帮我.

public class MyActivity extends FragmentActivity
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        LayoutInflater inflater = getLayoutInflater();

        View tabView = inflater.inflate(R.layout.tab, null);
        FragmentTabHost tabHost = (FragmentTabHost) tabView.findViewById(android.R.id.tabhost);
        tabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);
        tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("Tab1"), TabContent1Fragment.class, null);
        tabHost.addTab(tabHost.newTabSpec("tab2").setIndicator("Tab2"), TabContent2Fragment.class, null);

        View page2 = inflater.inflate(R.layout.page2, null);
        ViewPager viewPager = (ViewPager) findViewById(R.id.viewPager);
        List<View> list = new ArrayList<View>();
        list.add(page2);
        list.add(tabView);

        viewPager.setAdapter(new DemoPagerAdapter(list));
    }
}


public class TabContent1Fragment extends Fragment
{
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        return inflater.inflate(R.layout.tab_content_1, null);
    }
} …
Run Code Online (Sandbox Code Playgroud)

android android-tabhost android-viewpager

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

getChildFragmentManager> beginTransaction> replace> commit:no result

我主要活动只有ViewPager.第一个标签页片段包含:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/llEventsTabPage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
    android:id="@+id/lvEvents"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我想在用户点击ListView中的项目时显示详细信息片段:

lvEvents.setAdapter(adapter);
lvEvents.setOnItemClickListener(
            new OnItemClickListener() {

                @Override
                public void onItemClick(AdapterView<?> adapter, View view, int position, long id) {                     
                    Fragment eventFragment = new EventFragment();
                    FragmentTransaction fragmentTransaction = getChildFragmentManager().beginTransaction();

                    fragmentTransaction.addToBackStack(null);
                    fragmentTransaction.replace(R.id.llEventsTabPage, eventFragment);
                    fragmentTransaction.commit();
                }
            }
        );
Run Code Online (Sandbox Code Playgroud)

代码'fragmentTransaction.commit();' 被调用,调用EventFragment的onCreateView,但在'fragmentTransaction.commit();'之后 什么都没发生.没有错误,没有结果.只是列表视图仍然显示和工作.

我究竟做错了什么?我找到了一些例子,我的代码看起来一样,但没有用,我对此无能为力.

谢谢!

android android-fragments android-viewpager

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

Android中的Viewpager无休止地在天之间切换

我正在制作一个应用程序,学生可以在那里查看课程网格.使用json文件检索课程.现在更改日期是通过操作栏中的按钮完成的,但我想让它也可以使用平滑的滑动效果.

唯一需要改变的是左侧滑动的SlectedDate-1 .右侧滑动时的SelectedDate + 1 .

我用ViewPagers 尝试了但是它没有用,有人知道怎么做吗?也许有3个浏览器的东西?请详细的代码,因为我不太熟悉viewpagers代码!

我已经尝试过使用日期代码的Android ViewPager,但它对我不起作用.

 private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
    public ScreenSlidePagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        String myFormat = "yyyy-MM-dd"; 
        SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);

         switch (position) {
           case 0:
                  // create your dates for the leftmost fragment  
                    myCalendar.add(Calendar.DAY_OF_YEAR, -1);
                    final String dateje = sdf.format(myCalendar.getTime());
                   // mPager.setCurrentItem(1);
                  return ScreenSlidePageFragment.create(dateje);


              case 1:
                  // create your dates …
Run Code Online (Sandbox Code Playgroud)

android date android-fragments android-gesture android-viewpager

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

内部scrollview中的viewpager使得片段不应该显示

我知道在ScrollView中有很多关于ViewPager情况的问题,但是我还没有看到一个描述我所面临的情况的问题.

问题是,当我没有ScrollView时,我的viewPager工作正常,因为它可以在这张照片中看到. 没有scrollView

如果我将ScrollView仅用于ViewPager下面的元素,我也会工作,但我不想要这种行为.

ScrollView不影响viewPager

当我添加ScrollView时,我可以向上和向下滚动,我也可以向左和向右滑动(为此,我使用这种方法),但随后图像被加载但未显示,因为它可以在下面的图片中看到.

ScrollView里面有ViewPager

我发现如果,例如,我有四个图像,我在第一个位置看到第一个图像,我可以向右滑动两次(第三个位置),我什么也看不到,但是当我滑动时一次回到左边(第二个位置),我可以看到第二个图像!

不完全确定它是否相关,但方法getCount似乎完全疯了并且不断被称为不停.

XML

<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/footer"
android:id="@+id/custom_scroll"
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:scrollbarFadeDuration="0"
>   

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:orientation="vertical" 
    >
    <com.-----.-----.WrapContentHeightViewPager
        android:id="@+id/imagePager"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:orientation="vertical" 
    >
    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/title" 
        android:textSize="15sp"
        android:paddingTop="15dp"
        android:paddingLeft="10dp" 
        android:paddingRight="10dp" />
    <TextView
        android:id="@+id/tags"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/tags" 
        android:textColor="#ffff44"
        android:textSize="13sp"
        android:paddingLeft="10dp" 
        android:paddingRight="10dp" />
Run Code Online (Sandbox Code Playgroud)

我尝试使用不同类型的自定义ScrollViews,但问题仍然存在.我正在使用Android 4.4的Nexus 4进行测试

android scrollview android-fragments android-viewpager

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