Articles of android viewpager

Android:在哪里把活动的onCreate()代码放在一个片段?

我将所有活动转换为碎片,以便我们可以在ViewPager中使用它们。 我已经find了这个,但是我找不到满意的答案,所以这就是我在这里问的原因。 在我的活动中,我已经在onCreate()方法中写了一些代码。 我例如调用一些findViewById() s为了链接一些XMLbutton到我的活动。 我也在onCreate()做了一些不可见的视图,设置了一个OnClickListener() ,用onCreate()方法填充一个带有文本的TextView并删除一个Notification。 我的问题是:我应该把这段代码放在片段中? 在onCreate()? onCreateView()? onActivityCreated()? 为什么? 提前谢谢了!

ViewPager里面的片段问题

我有问题,查看页面里面的一些片段。 使用视图分页器我使用FragmentPagerAdapter。 并确定我得到java.lang.IllegalStateException:尝试运行我的应用程序时, recursion进入executePendingTransactionsexception。 大多数人都说FragmentPagerAdapter是不可能的,所以如果这个问题是无效的,我很抱歉。 我只是希望,也许有人对这个问题及其可能的解决scheme有一些新的想法。 PS我有一个build议,在AsyncTask设置适配器(我可以澄清这种情况下,如果有人需要它),但这个解决scheme有一些与恢复这种片段状态相关的错误,所以它是为我工作。

Viewpager在RecyclerView行内不显示

我想做一个“照片细节”活动或片段,我在上面和下面显示照片aViewpPager,显示相关照片(2选项卡)的评论和喜欢的照片。 为了使屏幕“滚动”,所以我可以向上/向下滚动的评论和喜欢和左/右滑动我决定使用2行的RecyclerView: 行1:照片(ImageView)。 行2:SlidingTabLayout + ViewPager + FragmentPagerAdapter。 代码编译并运行,显示图像和slidingTabLayout而不是ViewPager。 所以我的两个主要问题是: 1-我的实现有什么问题 2-是否有一个替代或更好的解决scheme,我想实现? 注意:我不想使用带有header的listView。我想使用RecyclerView,因为从networking上添加顶部/底部元素更容易。 PhotoDetailsActivity.java public class MainActivity extends ActionBarActivity { RecyclerView recyclerViewPhotoDetails; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.recyclerViewPhotoDetails = (RecyclerView) this.findViewById(R.id.recycler_view_photo_details); this.recyclerViewPhotoDetails.setLayoutManager(new LinearLayoutManager(this)); this.recyclerViewPhotoDetails.setAdapter(new PhotoDetailsRecyclerAdapter(this.getSupportFragmentManager())); } } PhotosDetailsRecyclerAdapter.java public class PhotoDetailsRecyclerAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private static final int ROW_IMAGE = 0; private […]

在viewpager页面中使用mapview的手势问题

我的应用程序的主界面是一个viewpager,用户只是水平滑动页面到各个页面。 其中一个网页有谷歌地图查看(粘贴在下面)。 我的问题是,如果用户在地图页面上,并使用水平滑动手势,页面滑动到下一页,而不是地图侧面移动。 就好像viewpager正在获取地图前的手势。 如果用户很聪明并开始在对angular线或垂直方向上滑动地图,则地图开始移动,然后手势可以水平地继续。 但我宁愿地图移动,而不是简单的水平滑动手势的页面。 该页面始终可以使用textview滑动。 有什么办法可以做到这一点? 谢谢,加里 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ContentPanel" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/tvMAP" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Map" style="@style/bigtype" /> <com.google.android.maps.MapView android:id="@+id/mapview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:apiKey="mykeygoeshere" android:clickable="true" /> </LinearLayout>

使用工具栏与片段

我正在尝试创build一个viewpager,通过3个不同的片段,每个都有不同的工具栏。 我已经在一个活动之前实现了新的工具栏,并得到它的工作,但我试图让它与碎片工作 这是片段代码 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout resource that'll be returned View rootView = inflater.inflate(R.layout.fragment_home, container, false); mToolbar = (Toolbar) rootView.findViewById(R.id.toolbar_home); if (mToolbar != null) { setSupportActionBar(mToolbar); } mToolbar.setTitle(null); return rootView; } 我用Fragment扩展我的片段,但是我得到错误 Cannot resolve method setSupportActionBar 我不知道如何解决这个问题,如果我删除setSupportActionBar代码将停止使用某些设备? 谢谢

ViewPager屏幕外的页面限制

有没有办法绕过ViewPager的正常行为及其屏幕外页限制 ? 我的ViewPager包含四个fragments ,每个fragments包含图像的ViewPager 。 我遇到的问题是在ViewPager的ViewPager ,创build了两个fragments ,这导致大约20个图像(每个片段大约10个)被同时下载/抓取。 是否可以禁用屏幕外页面限制? 我的目标是仅在selectfragment时才下载图像,或者仅在用户hover图像时下载图像。 一种方法是使用onPageSelected侦听器并设置一个标志,告诉GridViewAdapter是否允许下载图像。 我能想到的另一种HoverListener是在ImageView上设置一个HoverListener ,并只在onHover上下载图像,但是这个监听器只能在4.0及更高版本中使用。 有没有更好的方法来实现这一目标?

在恢复活动时刷新FragmentStatePagerAdapter上的图像

我创build了一个使用FragmentStatePagerAdapter来提供小型图库的活动。 但是,当活动恢复后(例如,从其他活动回来后),我无法恢复它。 每次前两张照片都是空白的,只有当我把两张照片刷到一边后,才会刷新。 我没有find工作的答案(尤其是重写getItemPosition() ) 我这样设置: mPagerAdapter = new PhotosPagerAdapter(getSupportFragmentManager()); mPager = (ViewPager) findViewById(R.id.photosViewPager); mPager.setAdapter(mPagerAdapter); 然后我有FragmentStatePagerAdapter类: private class PhotosPagerAdapter extends FragmentStatePagerAdapter{ public PhotosPagerAdapter(FragmentManager fm) { super(fm); } @Override public int getCount() { return photos.size(); } @Override public Fragment getItem(int position) { ImageFragment f = new ImageFragment(position); return f; } @Override public int getItemPosition(Object object) { […]

ViewPager活动通知一个特定事件的片段

我有一个ViewPager ,它使用FragmentAdapter为了显示同一种类的几个片段。 虽然这些碎片基本上是从同一个类实例化的,但它们使用ListView来显示不同的信息。 (很明显, ListView被一个ArrayAdapter压缩。) 后台服务也在运行,并不断从互联网接收数据。 当我的后台服务通知我一个特定的事件时,我希望能够更新ViewPager的特定片段。 我怎样才能做到这一点? 一个代码片段将非常感激! (顺便说一下,我看到了类似的问题,但我不知道如何使用他们的build议!) 为了使它更简单:我的活动与ViewPager: [Fragment 0] [Fragment 1] [Fragment 2] 后台服务告诉我(通过广播)更新片段1中的ListView 。 编辑:这里是示例代码: public class ChatWindowPager extends FragmentActivity { private ViewPager mViewPager = null; private ChatFragmentAdapter mAdapter = null; @Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.chat_window_pager); this.mViewPager = (ViewPager) findViewById(R.id.chatPager); this.mAdapter = new ChatFragmentAdapter(getSupportFragmentManager()); this.mViewPager.setAdapter(this.mAdapter); . […]

将图标添加到SlidingTabLayout而不是文本

我在我的Android应用程序中实现SlidingTabLayout。 我的查询是,我想在我的滑动选项卡中实现图标,而不是导航文本。 我在网上search了很多这样的教程或样本,但没有find。 我也search了一个以前的问题上的stackoverflow: 在这里 – SlidingTabLayout与图标 。 这是有点信息,但没有真正帮助我。 要清楚。 我需要我的标签只包含图标 。 没有文字。 由于我是这个整体设置的新手,我很感激,如果你将正确的代码与解释。 感谢您的时间和精力! PS 我也听说过安德烈亚斯·斯图茨(Andreaz Stuetz)的翻页贴,想知道这是否会更适合我要去的东西的types… 另外:这是我想我的滑动标签看起来像。 看看这个图像的顶部。 编辑:现在,LOLLIPOP(与材料devise)已经出来。 我在使用工具栏(ANDROID 5.0 ACTION-BAR)之后,使用了一个新的“唯一图标” SLIDING-TAB-LAYOUT看到了许多应用程序。 是否有任何新的方式来执行这个? 再次感谢!

ViewPager PagerObserver未注册

我的应用程序closures时,我closures我的屏幕,并重新打开。 Logcat告诉我,这个错误的原因是指向我的CourseFragment.class中的Java行60,它扩展了Fragment。 mViewPager.setAdapter(infoTechPageAdapter); 我在我的CourseFragment.class中实现了一个ViewPager,它扩展了Fragment。 这是我的代码: public class CourseFragment extends Fragment { public static final String ARG_POSITION_NUMBER = "course_number"; private int position; public CourseFragment() { // Empty constructor required for fragment subclasses } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView; position = getArguments().getInt("position"); String course = getResources().getStringArray( R.array.array_navigation_drawer)[position]; getActivity().setTitle(course); rootView = […]