我正在按照一步一步的指导来掌握拖放操作,并对第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;
}
}
答案 0 :(得分:0)
您的应用无法找到ClipData课程。 ClipDate仅适用于API级别11及更高级别。您运行的是2.3,即API级别9.当您针对更高的API构建时,您不会在编译时遇到错误。为了确保您没有使用以后添加的任何其他类,请尝试将项目设置为使用2.3构建,或者将操作系统作为最低目标。