Questions tagged «android-viewpager»

一个ViewGroup,用于管理用户可以在其间滑动的子视图的布局。



8
android.content.res.Resources $ NotFoundException:无法找到资源ID#0xffffffff
我讨厌发布代码,并问为什么它不起作用,但是我现在很茫然。我试图在下面运行以下类,但在logcat中出现了一个我无法解释的异常。甚至谷歌搜索也收效甚微。也许我只是不了解生态系统,但是异常情况很少。我得到的异常如下: 03-06 21:50:43.031: E/AndroidRuntime(1013): FATAL EXCEPTION: main 03-06 21:50:43.031: E/AndroidRuntime(1013): android.content.res.Resources$NotFoundException: Unable to find resource ID #0xffffffff 03-06 21:50:43.031: E/AndroidRuntime(1013): at android.content.res.Resources.getResourceName(Resources.java:1659) 03-06 21:50:43.031: E/AndroidRuntime(1013): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:903) 03-06 21:50:43.031: E/AndroidRuntime(1013): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088) 03-06 21:50:43.031: E/AndroidRuntime(1013): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682) 03-06 21:50:43.031: E/AndroidRuntime(1013): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444) 03-06 21:50:43.031: E/AndroidRuntime(1013): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:461) 03-06 21:50:43.031: E/AndroidRuntime(1013): …


5
隐藏并显示ViewPager的父Fragment时,ViewPager的Fragment的视图丢失
我一直在使用ViewPager和我自己的FragmentStatePagerAdapter看到一些奇怪的行为。 我的视图层次结构如下所示: -> (1) Fragment root view (RelativeLayout) -> (2) ViewPager -> (3) ViewPager's current fragment view 当负责片段根视图(1)的片段被隐藏(在片段事务中使用.hide())然后显示(与.show()一起)时,当前在ViewPager中显示的片段视图(3) )变为空,尽管该片段仍然存在。基本上,我的ViewPager变得完全空白/透明。 我发现解决此问题的唯一方法是致电 int current = myViewPager.getCurrentItem(); myViewPager.setAdapter(myAdapter); myViewPager.setCurrentItem(current); 显示父片段之后。这会触发视图重新创建并出现在屏幕上。不幸的是,这偶尔会导致处理寻呼机适配器的异常,该适配器unregisterDataSetObserver()在旧的观察器上调用两次。 有一个更好的方法吗?我想我要问的是: 隐藏ViewPager的父片段时,为什么ViewPager中的片段视图被破坏? 更新:当应用程序“最小化”然后“恢复”时(通过按下Home Action键然后返回),也会发生这种情况。 根据请求,这是我的寻呼机适配器类: public class MyInfoSlidePagerAdapter extends FragmentStatePagerAdapter { private ArrayList<MyInfo> infos = new ArrayList<MyInfo>(); public MyInfoSlidePagerAdapter (FragmentManager fm) { super(fm); …

5
在Android中为ViewPager设置默认页面
我正在使用以下代码,MAX为2页。默认情况下,位置为0,并在右侧添加一个新页面。我给两个布局文件充气。 应用启动时如何显示page1并在左侧添加新页面?谢谢。 main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <android.support.v4.view.ViewPager android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/pagerView" /> </LinearLayout> Java代码 public class MyPagerActivity extends Activity { private Context context; private int pageNumber; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); context = this; ViewPager pagerView = (ViewPager)findViewById(R.id.pagerView); pagerView.setAdapter(new AwesomePagerAdapter()); } private class …

2
如何使用Dagger 2在ViewPager中注入相同片段的ViewModel
我正在尝试将Dagger 2添加到我的项目中。我能够为片段注入ViewModels(AndroidX体系结构组件)。 我有一个ViewPager,它具有2个相同片段的实例(每个选项卡只有一个小的更改),并且在每个选项卡中,我正在观察一个LiveData以获取有关数据更改的更新(从API)。 问题在于,当api响应出现并更新时LiveData,当前可见片段中的相同数据将发送给所有选项卡中的观察者。(我认为这可能是因为的范围ViewModel)。 这就是我观察数据的方式: override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) activityViewModel.expenseList.observe(this, Observer { swipeToRefreshLayout.isRefreshing = false viewAdapter.setData(it) }) .... } 我正在使用此类提供ViewModel: class ViewModelProviderFactory @Inject constructor(creators: MutableMap<Class<out ViewModel?>?, Provider<ViewModel?>?>?) : ViewModelProvider.Factory { private val creators: MutableMap<Class<out ViewModel?>?, Provider<ViewModel?>?>? = creators override fun <T : ViewModel?> create(modelClass: Class<T>): T { var …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.