【问题标题】:Android drag and drop errorAndroid拖放错误
【发布时间】:2012-07-01 21:45:57
【问题描述】:

我正在按照分步指南来掌握拖放操作,但我很沮丧第 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):在 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;
        }
    }

【问题讨论】:

  • 你在使用任何外部库吗?
  • 不,我不是。只是一个普通的启动应用程序。
  • 您在哪个版本的 Android 上运行?
  • 我正在为 4.03 构建,并且最小 SDK 为 4。我在我的 SGS2 上运行它,它是 2.3。
  • 好的。但是您在哪个版本上运行该应用程序?

标签: android android-layout


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2010-12-21
    • 1970-01-01
    • 1970-01-01
    • 2020-08-30
    • 2016-06-18
    • 2012-06-02
    • 1970-01-01
    • 2012-12-28
    • 2012-07-06
    相关资源
    最近更新 更多