Articles of android viewpager

在ViewPager中的多个片段之间的通信对象

我在ViewPager有5个片段用于逐步填充具有多个字段的业务对象,每个步骤中的一些字段将被设置。 我已经阅读了很多关于片段之间的交stream的文章,但是我不太喜欢别人喜欢的方式,所以在思考如何在我的情况下这样做之后,最后我开始考虑使用单件模型对象,所有片段都可以很容易地访问到其领域并填写具体步骤。 因为我是新来的android我想听到专家有关使用单例,而不是在片段之间传递数据,如实现的接口(这似乎是如此复杂,难以维护)。 任何build议将是有益的。

android:根据ViewPager中的每个片段更新ActionBar项目?

我在操作栏中有一个标记/书签button,可以根据哪个片段在ViewPager的视图中进行切换。 如果用户在ViewPager中标记一个片段,它将被设置为启用。 当用户滑动到下一个,我想要操作栏button更新为无标记。 现在,我可以改变button的状态,通过有两个菜单项并隐藏一个,点击时显示一个。 这里是我的活动中的代码来切换操作栏button: public boolean onOptionsItemSelected(MenuItem item) { int currentItem = mPager.getCurrentItem(); switch (item.getItemId()) { case R.id.menu_flag: mFlagged = true; supportInvalidateOptionsMenu(); return true; case R.id.menu_unflag: mFlagged = false; supportInvalidateOptionsMenu(); return true; } } @Override public boolean onPrepareOptionsMenu(Menu menu) { MenuItem item_flag = menu.findItem(R.id.menu_flag); MenuItem item_unflag = menu.findItem(R.id.menu_unflag); if (mFlagged) { //If flagged //Show […]

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 […]

Android的ViewPager setCurrentItem后onResume不工作

我得到了这个奇怪的问题,ViewPager的setCurrentItem(position,false)完美地工作,然后切换到另一个活动,并且在回到第一个活动后,ViewPager总是在第一个项目上结束。 即使ive添加setCurrentItem到onResume方法它仍然忽略它。 它甚至不会抛出任何exception,当我试图设置项目越界索引。 虽然后来我调用这个方法的时候,点击button“下一步”,它按预期工作。 检查我的代码10次任何可能的调用setCurrentItem(0)或水手,但它根本不存在。

Android侧边栏喜欢脸谱或火狐

随着新的Facebook应用程序它带有一个隐藏的侧边栏,我很喜欢在我的应用程序中使用类似的东西。 它看起来有点像firefox手机有侧边栏… 你有什么想法除了重新实现ViewPager? 我已经尝试了一个Horizo​​ntalScrollView,但也会导致重新执行它… 除了这两个,我没有看到任何其他的方式…有什么build议? 提前致谢

Android的webview:防止触摸手势传递给父视图

我有一个包含许多子视图的viewpager; 每个子视图都是一个web视图。 每个webview都有一些用户可以与之交互的HTML对象; 例如,可以在滑动手势上工作的幻灯片或用户可以在HTMLcanvas上移动的可拖动的圆圈。 问题是当用户在这些HTML对象上执行一个手势时,viewpager会滚动到下一个视图。 当用户与它们交互时,我希望HTML对象能够工作(viewpager不滚动),当用户在其他地方滑动时viewpager会滚动。 我怎样才能做到这一点? PS我已经在HTML幻灯片的JavaScript中使用event.preventDefault()和event.stopPropagation() ,希望webview不会将触摸事件传递给父视图。

Android – 使用FragmentActivity + Loader来更新FragmentStatePagerAdapter的问题

我试图使用ViewPager的Fragments显示Fragmentsdynamic列表。 有很多关于如何做静态版本的例子。 我的问题是我显示的列表需要dynamic加载,也可以根据用户input(添加/删除)进行更改。 我试图使用自定义的android.support.v4.content.Loader来加载我可以用来build立我的列表的数据集。 在我的设置中一切正常,直到我想要更新适配器,并在此时执行FragmentStatePagerAdapter#notifyDataSetChanged()调用此代码执行(从FragmentStatePagerAdapter ) public void finishUpdate(View container) { if(mCurTransaction != null) { mCurTransaction.commit(); // BANG!!! The exception is thrown mCurTransaction = null; mFragmentManager.executePendingTransactions(); } } 事务提交失败并显示以下消息: java.lang.IllegalStateException: Can not perform this action inside of onLoadFinished 因为在FragmentManagerImpl这个代码被执行: private void checkStateLoss() { if (mStateSaved) { throw new IllegalStateException( "Can not perform this action after […]

DialogFragment中的ViewPager – IllegalStateException:Fragment没有视图

我想实现的 在FragmentActivity ,单击Action Bar中的Action Button时会显示一个对话框 DialogFragment – 一个没有标题的对话框 TabHost – 对话框顶部的标签 带有FragmentPagerAdapter ViewPager – Swipable,其内容连接到Tabs 2-3个对话框button(对话框的不同子类,不同的button) – 不应该在ViewPager的Fragment ,这意味着相同的button应该保留在对话框的底部,而不pipeViewPager Fragment显示的是什么。 问题 IllegalStateException: Fragment does not have a view 到目前为止,我已经尝试了/做了什么 使用android.support.v4包进行必要的类 调用getChildFragmentManager()而不是getSupportedFragmentManager() 从此链接https://code.google.com/p/android/issues/detail?id=42601实施了#10build议的内容。 我将代码直接复制/粘贴到ViewPager假设要显示的两个Fragment类中,再加上DialogFragment类。 在我的自定义DialogFragment我首先尝试重写onCreateView ,然后onCreateDialog ,然后在两个同时。 所有我运行,但意想不到的结果。 只有onCreateView :无法到达AlertDialog.Builder创build所需的button,除了该对话框的结果是伟大的。 只有onCreateDialog :上面显示的错误信息。 我仍然认为这种方法和我想要达到的一样接近。 onCreateView和onCreateDialog :在onCreateView AlertDialog.Builder对话框布局,并将对话button添加到onCreateDialog的AlertDialog.Builder 。 这显示了对话框,但从AlertDialog.Builder添加的button不可见。 另外,点击EditText字段时键盘没有显示出来。 源代码 大部分来自教程来实现在Android 2.2 + ViewPager和Fragments中使用TabHost 。 ActivityFragment的代码是在一个DialogFragment […]