android.content.res.Resources$NotFoundException:找不到资源ID#0xffffffff

我讨厌张贴代码,并问为什么它不起作用,但我现在不知所措。我尝试运行下面的类,但在logcat中出现了一个无法解释的异常。即使是谷歌搜索结果也很少。也许我只是不了解生态系统,但例外情况几乎没有什么信息。我得到的例外情况如下:

03-06 21:50:43.031:E/AndroidRuntime(1013):致命异常:主
03-06 21:50:43.031:E/AndroidRuntime(1013):android.content.res.Resources$NotFoundException:找不到资源ID 35; 0xffffffff
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.content.res.Resources.getResourceName(Resources.java:1659)
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:903)
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:461)
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.support.v4.view.ViewPager.populate(ViewPager.java:1012)
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.support.v4.view.ViewPager.populate(ViewPager.java:881)
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1366)
03-0621:50:43.031:E/AndroidRuntime(1013):在android.view.view.measure(view.java:15513)
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4827)
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.widget.FrameLayout.onMeasure(FrameLayout.java:310)上
03-0621:50:43.031:E/AndroidRuntime(1013):在android.view.view.measure(view.java:15513)
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.widget.LinearLayout.measureVertical(LinearLayout.java:847)
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
03-0621:50:43.031:E/AndroidRuntime(1013):在android.view.view.measure(view.java:15513)
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4827)
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.widget.FrameLayout.onMeasure(FrameLayout.java:310)上
03-06 21:50:43.031:E/AndroidRuntime(1013):在com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2176)
03-0621:50:43.031:E/AndroidRuntime(1013):在android.view.view.measure(view.java:15513)
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1874)
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1089)
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1265)
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:989)
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4351)
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.view.Choreographer.doCallbacks(Choreographer.java:562)
03-0621:50:43.031:E/AndroidRuntime(1013):在android.view.Choreographer.doFrame(Choreographer.java:532)
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
03-0621:50:43.031:E/AndroidRuntime(1013):在android.os.Handler.handleCallback(Handler.java:725)上
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.os.Handler.dispatchMessage(Handler.java:92)上
03-0621:50:43.031:E/AndroidRuntime(1013):在android.os.Looper.loop(Looper.java:137)
03-06 21:50:43.031:E/AndroidRuntime(1013):在android.app.ActivityThread.main(ActivityThread.java:5039)上
03-06 21:50:43.031:E/AndroidRuntime(1013):位于java.lang.reflect.Method.Invokenactive(本机方法)
03-0621:50:43.031:E/AndroidRuntime(1013):在java.lang.reflect.Method.invoke(Method.java:511)
03-06 21:50:43.031:E/AndroidRuntime(1013):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
03-0621:50:43.031:E/AndroidRuntime(1013):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
03-06 21:50:43.031:E/AndroidRuntime(1013):在dalvik.system.NativeStart.main(本机方法)
03-06 21:55:44.231:E/Trace(1033):打开跟踪文件时出错:没有这样的文件或目录(2)

我尝试将ViewPager移动到顶级内容(即setContent(pager)),但这似乎不起作用。欢迎任何意见。代码如下:

EDIT*我简化了示例,但仍然遇到同样的问题

导入android.os.Bundle;
导入android.support.v4.app.Fragment;
导入android.support.v4.app.FragmentActivity;
导入android.support.v4.app.FragmentPagerAdapter;
导入android.support.v4.view.ViewPager;
导入android.view.Gravity;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.view.ViewGroup.LayoutParams;
导入android.widget.LinearLayout;
导入android.widget.TextView;
公共类AskQuestionActivity扩展了FragmentActivity
{
私有静态LayoutParams MATCH_PARENT=新的LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT);
@凌驾
创建时受保护的void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
ViewPager pager=新的ViewPager(此);
setAdapter(新的FragmentPagerAdapter(getSupportFragmentManager())
{
@凌驾
public int getCount()
{
返回1;
}
@凌驾
公共片段getItem(int arg0)
{
返回新的BoardFragment();
}
} );
setContentView(寻呼机);
}
公共静态类BoardFragment扩展了片段
{
@凌驾
创建视图上的公共视图(更平坦的充气机,
视图组容器,
Bundle savedInstanceState)
{
TextView TextView=新的TextView(getActivity());
textView.setText(“董事会”);
textView.setGravity(Gravity.CENTER);
LinearLayout布局=新的LinearLayout(getActivity());
layout.setLayoutParams(匹配父项);
layout.addView(textView);
返回布局;
}
}
}

欢迎任何帮助

因此,我将发布我认为是解决我问题的方法。在我的上述代码中添加一行后,给ViewPager一个“随机”ID;它设法解决了我的问题

起初,我确信设置自己的ID是一种不好的做法,但显然有合法的方法可以做到这一点。也就是说,创建一个ids.xml文件,让Android生态系统为您生成一个ID。我建议查看这些SO帖子,了解更多信息-这里和这里

否则,我建议只为布局创建一个XML文件,并在活动中获取查看页面(而不是以编程方式实例化它),但最终这一切都取决于您试图完成的任务

发表评论