【发布时间】:2015-01-02 22:46:00
【问题描述】:
目前正在开发一个应用程序,该应用程序有一个 MainActivity 和一个包含多个按钮的 Fragment。单击按钮时,我无法启动另一个活动。
我在这里一直收到错误提示
java.lang.IllegalArgumentException:未找到 id 0x7f090057 的视图 对于片段
我有两节课; NavigationDrawer 类(我的 MainActivity)
还有一个名为 StartingFragment 的类(我想在抽屉关闭/不活动时成为主视图)。
这是错误似乎引用的代码(来自 NavDrawer.java):
/** Swaps fragments in the main content view */
/** Starts an Activity when item is clicked */
private void selectItem(int position) {
// Create a new fragment and specify the tea type
// to show based on position
Fragment fragment = new StartingFragment();
Bundle args = new Bundle();
args.putInt(StartingFragment.TEA_TYPE_POS, position);
fragment.setArguments(args);
// Insert the fragment by replacing any existing fragment
FragmentManager fragManager = getFragmentManager();
fragManager.beginTransaction().replace(R.id.fragment_replace, fragment)
.commit();
// Highlight the selected item, update the title, and close the drawer
mDrawerList.setItemChecked(position, true);
setTitle(navDrawerTitles[position]);
navDrawerLayout.closeDrawer(mDrawerList);
}
我在这里查看了这个问题: https://stackoverflow.com/a/8158916 我看到 R.id.fragment_replace 应该是 R.layout.nav_drawer 的子,这里就是这种情况. 几天前我也发布了一个非常相似的问题,虽然之前应用程序从一开始就会崩溃;现在它在 Button/AlertDialog 点击时崩溃
但是,我不知道要在我的代码中调整什么。 每当我尝试单击来自 StartingFragment.java 和 starting_fragment.xml 的按钮(然后单击随后的 AlertDialog 的中性/肯定按钮)时,我都会收到此错误
Logcat 文本:
01-02 17:16:13.642:E/AndroidRuntime(26814):致命 例外:主要 01-02 17:16:13.642:E/AndroidRuntime(26814):进程: com.fv4.tea.teatime.first, PID: 26814 01-02 17:16:13.642: E/AndroidRuntime(26814): java.lang.RuntimeException: 无法启动 活动 组件信息{com.fv4.tea.teatime.first/com.fv4.teatime.tea.app.OolongTeaActivity}: java.lang.IllegalArgumentException:未找到 id 0x7f090057 的视图 (com.fv4.tea.teatime.first:id/fragment_replace) 用于片段 起始片段{41c95b40 #0 id=0x7f090057} 01-02 17:16:13.642: E/AndroidRuntime(26814):在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2212) 01-02 17:16:13.642: E/AndroidRuntime(26814): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2271) 01-02 17:16:13.642: E/AndroidRuntime(26814): 在 android.app.ActivityThread.access$800(ActivityThread.java:144) 01-02 17:16:13.642:E/AndroidRuntime(26814):在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205) 01-02 17:16:13.642: E/AndroidRuntime(26814): 在 android.os.Handler.dispatchMessage(Handler.java:102) 01-02 17:16:13.642:E/AndroidRuntime(26814):在 android.os.Looper.loop(Looper.java:136) 01-02 17:16:13.642: E/AndroidRuntime(26814):在 android.app.ActivityThread.main(ActivityThread.java:5146) 01-02 17:16:13.642:E/AndroidRuntime(26814):在 java.lang.reflect.Method.invokeNative(Native Method) 01-02 17:16:13.642:E/AndroidRuntime(26814):在 java.lang.reflect.Method.invoke(Method.java:515) 01-02 17:16:13.642: E/AndroidRuntime(26814):在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796) 01-02 17:16:13.642: E/AndroidRuntime(26814): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612) 01-02 17:16:13.642:E/AndroidRuntime(26814):在 dalvik.system.NativeStart.main(本机方法)01-02 17:16:13.642: E/AndroidRuntime(26814):由以下原因引起: java.lang.IllegalArgumentException:未找到 id 0x7f090057 的视图 (com.fv4.tea.teatime.first:id/fragment_replace) 用于片段 起始片段{41c95b40 #0 id=0x7f090057} 01-02 17:16:13.642: E/AndroidRuntime(26814):在 android.app.FragmentManagerImpl.moveToState(FragmentManager.java:882) 01-02 17:16:13.642: E/AndroidRuntime(26814): 在 android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062) 01-02 17:16:13.642: E/AndroidRuntime(26814): 在 android.app.BackStackRecord.run(BackStackRecord.java:684) 01-02 17:16:13.642:E/AndroidRuntime(26814):在 android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1447) 01-02 17:16:13.642: E/AndroidRuntime(26814): 在 android.app.Activity.performStart(Activity.java:5240) 01-02 17:16:13.642:E/AndroidRuntime(26814):在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2178) 01-02 17:16:13.642: E/AndroidRuntime(26814): ... 11 更多
【问题讨论】:
-
这太奇怪了。我什至检查了OolongTeaActivity,似乎没有任何问题。自从对 NavDrawer 或 StartingFragment 进行更改后,我没有修改过活动
-
由于您已删除帖子,请移除指向 pastebin 的链接
标签: java android xml android-fragments r.java-file