在我的Android應用程序中,我恰好使用以下代碼從TextView複製文本。新手Android錯誤:java.lang.NoClassDefFoundError:android.content.ClipboardManager
buttonCopy.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String copyText;
copyText = textBox2.getText().toString();
myClip = ClipData.newPlainText("text", copyText);
myClipboard.setPrimaryClip(myClip);
Toast.makeText(getApplicationContext(), "Copied", Toast.LENGTH_SHORT).show();
}
});
,我爲我的應用程序設置的最低API等級爲API 10級。但我明白,
myClip = ClipData.newPlainText("text", copyText);
myClipboard.setPrimaryClip(myClip);
需要最低API等級11
果然,我的應用程序用戶發送以下報告
java.lang.NoClassDefFoundError: android.content.ClipboardManager
at com.nepali_unicode.nepalityping.MainActivity.onCreate(Unknown Source)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
at dalvik.system.NativeStart.main(Native Method)
我想支持API級別爲10的舊設備。所以,我的問題是如何爲這些較舊的設備啓用複製按鈕?
- 我是否需要使用完全不同的單一代碼來支持我想要的API級別?
- 或者是否有我能做的事情,使具有API 10的設備將使用不同的代碼來複制文本?
我將不勝感激的幫助。我是一個新手。我在PHP編程方面的背景鼓勵我學習Android。我遵循Udacity的Android Development for Beginners課程。我正在學習。哦,我碰巧使用Android Studio。
感謝您的輸入。我決定使用if else版本。 –