2016-06-30 8 views
0

Nexus 6(API 22)を使用しています。 Edittextを長押ししたときに、いくつかのオプションを追加したい。通常、Edittextを長押しすると、貼り付けポップアップメニューが表示され、貼り付けメニューにいくつかの機能を追加したいと思います。APIにsetCustomInsertionActionModeCallbackを使用しているときにNoSuchMethodError <23

Androidのドキュメントによると、setCustomInsertionActionModeCallbackを実装すると、動作をオーバーライドできますが、私の場合は動作しません。しかし、Nexus 6P(API 23)では問題なく動作しています。

この

はあなたが古いデバイス上でそれを使用することはできません

java.lang.NoSuchMethodError: No virtual method setCustomInsertionActionModeCallback(Landroid/view/ActionMode$Callback;)V in class L/view/WriterEditText; or its super classes (declaration of 'view.WriterEditText' appears in /data/app/-1/base.apk) 
     at .EditorViewManager.createEditText(EditorViewManager.java:79) 
     at render.EditorViewManager.createViewAtIndex(EditorViewManager.java:207) 
     at render.Renderer.renderContent1(Renderer.java:158) 
     at render.Renderer.renderContent(Renderer.java:135) 
     at .render.Renderer.reloadDocument(Renderer.java:704) 
     at EditorActivity.onCreate(EditorActivity.java:89) 
     at android.app.Activity.performCreate(Activity.java:5990) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
     at android.app.ActivityThread.access$800(ActivityThread.java:151) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:135) 
     at android.app.ActivityThread.main(ActivityThread.java:5254) 
     at java.lang.reflect.Method.invoke(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:372) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 

答えて

2

このメソッドは、APIレベル23で追加されましたsetCustomInsertionActionModeCallbackを実施している間、私が持っているエラーです。電話番号をBuildバージョンチェックでラップすることもできます。

if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.M) { 
    // call that method 
} 
+1

お返事ありがとうございます。 edittextを長押ししたときに表示されるペーストポップアップメニューにアクセスする方法はありますか? – vijay

+0

@vijay:私はこれを見ていない、申し訳ありません。 – CommonsWare

+0

APIレベル22でこのアクションの代替手段をご存知ですか? – user2751809

関連する問題