0

我正在按照分步指南来掌握拖放操作,但对第 1 步给我一个错误感到沮丧。我收到 NoClassDefFoundError。谁能看到我做错了什么。

我完全复制了这些家伙的代码并且它不起作用,这真的很烦人。

我在它正在崩溃的线上放了一颗星。定义剪辑数据的那个。

07-01 14:37:47.544:E/AndroidRuntime(17055):致命异常:主要 07-01 14:37:47.544:E/AndroidRuntime(17055):java.lang.NoClassDefFoundError:android.content.ClipData 07-01 14:37:47.544: E/AndroidRuntime(17055): 在 com.codelikely.tester.TestApplicationActivity.onTouch(TestApplicationActivity.java:29) 07-01 14:37:47.544: E/AndroidRuntime(17055): 在 android.view .View.dispatchTouchEvent(View.java:4020) 07-01 14:37:47.544: E/AndroidRuntime(17055): 在 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869) 07-01 14:37:47.544 : E/AndroidRuntime(17055): 在 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869) 07-01 14:37:47.544: E/AndroidRuntime(17055): 在 android.view.ViewGroup.dispatchTouchEvent(ViewGroup. java:869) 07-01 14:37:47.544: E/AndroidRuntime(17055): 在 android.view.ViewGroup。dispatchTouchEvent(ViewGroup.java:869) 07-01 14:37:47.544: E/AndroidRuntime(17055): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1746) 07-01 14:37:47.544: E/AndroidRuntime(17055): 在 com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1152) 07-01 14:37:47.544: E/AndroidRuntime(17055):在 android.app.Activity.dispatchTouchEvent(Activity.java:2102) 07-01 14:37:47.544: E/AndroidRuntime(17055): 在 com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow. java:1730) 07-01 14:37:47.544: E/AndroidRuntime(17055): 在 android.view.ViewRoot.deliverPointerEvent(ViewRoot.java:2268) 07-01 14:37:47.544: E/AndroidRuntime(17055) : 在 android.view.ViewRoot.handleMessage(ViewRoot.java:1921) 07-01 14:37:47.544:E/AndroidRuntime(17055): 在 android.os.Handler.dispatchMessage(Handler.java:99) 07-01 14:37:47.544: E/AndroidRuntime(17055): 在 android.os.Looper.loop(Looper.java :130) 07-01 14:37:47.544: E/AndroidRuntime(17055): 在 android.app.ActivityThread.main(ActivityThread.java:3691) 07-01 14:37:47.544: E/AndroidRuntime(17055):在 java.lang.reflect.Method.invokeNative(Native Method) 07-01 14:37:47.544: E/AndroidRuntime(17055): 在 java.lang.reflect.Method.invoke(Method.java:507) 07-01 14:37:47.544: E/AndroidRuntime(17055): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907) 07-01 14:37:47.544: E/AndroidRuntime(17055):在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665) 07-01 14:37:47.544: E/AndroidRuntime(17055): 在 dalvik.system.NativeStart.main(Native Method)主要(本机方法)

@Override
    public boolean onTouch(View view, MotionEvent motionEvent) {
        if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
            *ClipData clipData = ClipData.newPlainText("", "");*
            View.DragShadowBuilder dsb = new View.DragShadowBuilder(view);
            view.startDrag(clipData, dsb, view, 0);
            view.setVisibility(View.INVISIBLE);
            return true;
        } else {
            return false;
        }
    }
4

1 回答 1

0

您的应用找不到ClipData类。ClipDate 仅适用于 API 级别 11 及更高级别。您在 2.3 上运行,即 API 级别 9。当您针对更高的 API 构建时,您不会在编译时收到错误消息。为确保您不使用稍后添加的任何其他类,请尝试将您的项目设置为使用 2.3 构建,或者任何操作系统是您的最低目标。

于 2012-07-01T21:59:27.463 回答