Android拖放错误

时间:2012-07-01 21:45:57

标签: android android-layout

我正在按照一步一步的指导来掌握拖放操作,并对第1步给我一个错误感到沮丧。我得到一个NoClassDefFoundError。任何人都可以看到我做错了什么。

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

我在它崩溃的线上放了一颗星。定义clipdata的那个。

  

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):at   com.codelikely.tester.TestApplicationActivity.onTouch(TestApplicationActivity.java:29)   07-01 14:37:47.544:E / AndroidRuntime(17055):at   android.view.View.dispatchTouchEvent(View.java:4020)07-01   14:37:47.544:E / AndroidRuntime(17055):at   android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869)07-01   14:37:47.544:E / AndroidRuntime(17055):at   android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869)07-01   14:37:47.544:E / AndroidRuntime(17055):at   android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869)07-01   14:37:47.544:E / AndroidRuntime(17055):at   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):at   com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1152)   07-01 14:37:47.544:E / AndroidRuntime(17055):at   android.app.Activity.dispatchTouchEvent(Activity.java:2102)07-01   14:37:47.544:E / AndroidRuntime(17055):at   com.android.internal.policy.impl.PhoneWindow $ DecorView.dispatchTouchEvent(PhoneWindow.java:1730)   07-01 14:37:47.544:E / AndroidRuntime(17055):at   android.view.ViewRoot.deliverPointerEvent(ViewRoot.java:2268)07-01   14:37:47.544:E / AndroidRuntime(17055):at   android.view.ViewRoot.handleMessage(ViewRoot.java:1921)07-01   14:37:47.544:E / AndroidRuntime(17055):at   android.os.Handler.dispatchMessage(Handler.java:99)07-01   14:37:47.544:E / AndroidRuntime(17055):at   android.os.Looper.loop(Looper.java:130)07-01 14:37:47.544:   E / AndroidRuntime(17055):at   android.app.ActivityThread.main(ActivityThread.java:3691)07-01   14:37:47.544:E / AndroidRuntime(17055):at   java.lang.reflect.Method.invokeNative(Native Method)07-01   14:37:47.544:E / AndroidRuntime(17055):at   java.lang.reflect.Method.invoke(Method.java:507)07-01 14:37:47.544:   E / AndroidRuntime(17055):at   com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:907)   07-01 14:37:47.544:E / AndroidRuntime(17055):at   com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)07-01   14:37:47.544:E / AndroidRuntime(17055):at   dalvik.system.NativeStart.main(原生方法)

@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;
        }
    }

1 个答案:

答案 0 :(得分:0)

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