这两天学习了一下SlidingDrawer的用法,可今天试图把SlidingDrawer添加在一个MapView上,可老是报错,没弄明白...03-28 00:06:58.680: ERROR/AndroidRuntime(1159): FATAL EXCEPTION: main
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.meation/com.meation.MapActivityMain}: java.lang.IllegalArgumentException: The handle attribute is must refer to an existing child.
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.app.ActivityThread.startActivityNow(ActivityThread.java:1487)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:127)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:339)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:654)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.widget.TabHost.setCurrentTab(TabHost.java:326)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:132)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:456)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.view.View.performClick(View.java:2485)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.view.View$PerformClick.run(View.java:9080)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.os.Handler.handleCallback(Handler.java:587)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.os.Handler.dispatchMessage(Handler.java:92)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.os.Looper.loop(Looper.java:123)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.app.ActivityThread.main(ActivityThread.java:3683)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at java.lang.reflect.Method.invokeNative(Native Method)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at java.lang.reflect.Method.invoke(Method.java:507)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at dalvik.system.NativeStart.main(Native Method)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): Caused by: java.lang.IllegalArgumentException: The handle attribute is must refer to an existing child.
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.widget.SlidingDrawer.onFinishInflate(SlidingDrawer.java:239)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.view.LayoutInflater.rInflate(LayoutInflater.java:631)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.view.LayoutInflater.rInflate(LayoutInflater.java:626)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.view.LayoutInflater.rInflate(LayoutInflater.java:626)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.app.Activity.setContentView(Activity.java:1657)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at com.meation.MapActivityMain.onCreate(MapActivityMain.java:73)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
纠结...
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.meation/com.meation.MapActivityMain}: java.lang.IllegalArgumentException: The handle attribute is must refer to an existing child.
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.app.ActivityThread.startActivityNow(ActivityThread.java:1487)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:127)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:339)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:654)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.widget.TabHost.setCurrentTab(TabHost.java:326)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:132)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:456)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.view.View.performClick(View.java:2485)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.view.View$PerformClick.run(View.java:9080)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.os.Handler.handleCallback(Handler.java:587)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.os.Handler.dispatchMessage(Handler.java:92)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.os.Looper.loop(Looper.java:123)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.app.ActivityThread.main(ActivityThread.java:3683)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at java.lang.reflect.Method.invokeNative(Native Method)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at java.lang.reflect.Method.invoke(Method.java:507)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at dalvik.system.NativeStart.main(Native Method)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): Caused by: java.lang.IllegalArgumentException: The handle attribute is must refer to an existing child.
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.widget.SlidingDrawer.onFinishInflate(SlidingDrawer.java:239)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.view.LayoutInflater.rInflate(LayoutInflater.java:631)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.view.LayoutInflater.rInflate(LayoutInflater.java:626)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.view.LayoutInflater.rInflate(LayoutInflater.java:626)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.app.Activity.setContentView(Activity.java:1657)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at com.meation.MapActivityMain.onCreate(MapActivityMain.java:73)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-28 00:06:58.680: ERROR/AndroidRuntime(1159): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
纠结...
解决方案 »
- FM收音机功能
- 请问在tabhost中如何在某一个tab内点击按钮时切换Activity呢
- android录音开发,怎么设置频率范围?
- android的模拟器问题!!!!!!!!!
- 布局奇怪的效果?!各位能帮忙看看吗?
- 鼠标移上去,图像就上移,怎么实现
- [武汉]下周就要比赛了,产品的服务器与数据库也开发的差不多了,可是就是找不到一个做客户端开发的。。。
- 微信里的网页,可有办法读取当前的微信号?
- 安卓开发,信息安全方面有哪些比较好的处理方式,萌新发帖
- 执行adb shell, 提示: error: no devices/emulators found..., 为什么呢?
- 把android中的linpng移植到windows mobile上
- [求助]main.xml点开后,控件面板里大都数控件不能用
看这个错误,
看了下资料@Override
protected void onFinishInflate() {
mHandle = findViewById(mHandleId);
if (mHandle == null) {
throw new IllegalArgumentException("The handle attribute is must refer to an"
+ " existing child.");
}
mHandle.setOnClickListener(new DrawerToggler()); mContent = findViewById(mContentId);
if (mContent == null) {
throw new IllegalArgumentException("The content attribute is must refer to an"
+ " existing child.");
}
mContent.setVisibility(View.GONE);
}mHandle或mContent 是空的话就有这个问题。 int handleId = a.getResourceId(R.styleable.SlidingDrawer_handle, 0);
int contentId = a.getResourceId(R.styleable.SlidingDrawer_content, 0);确认你的sdk里有这个SlidingDrawer_handle和SlidingDrawer_content的资源。
你可以在程序里试试getResourceId这两句话,应该是里面有一个的空的