2016-10-27 2 views
0

Für onLongPress/onDoubleClick im EditText für Samsung Devices, wird die App nur zum Absturz bringen. Jedoch wird das Problem in anderen Geräten nicht passieren. Ich benutze mein altes Note 2 zum Debuggen und sehe ähnliches Problem im Forum gepostet (wurde aber gelöscht). Großartig, wenn jemand die Lösungen teilen würde.EditText: Crash onLongPress, onDoubleCheck auf Samsung Nur Gerät

<EditText 
    android:id="@+id/vse_discountEv" 
    android:hint="@string/vse_boradcastHint"    
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center_vertical" 
    android:paddingTop="@dimen/pad_3dp" 
    android:paddingLeft="@dimen/pad_5dp" 
    android:paddingRight="@dimen/pad_0dp" 
    android:paddingBottom="@dimen/pad_5dp"    
    android:background="@color/transparent" 
    android:textColorHint="@color/gray_main_light" 
    android:textSize="@dimen/dim_20dp" 
    android:scrollbars="horizontal" /> 

Logcat Nachricht:

10-28 11:08:56.311: E/AndroidRuntime(22228): FATAL EXCEPTION: main 
10-28 11:08:56.311: E/AndroidRuntime(22228): Process: com.export, PID: 22228 
10-28 11:08:56.311: **E/AndroidRuntime(22228): java.lang.ArithmeticException: divide by zero** 
10-28 11:08:56.311: E/AndroidRuntime(22228): at android.widget.Editor.updateShowAsAction(Editor.java:6111) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at android.widget.Editor$SelectionActionModeCallback.onCreateActionMode(Editor.java:3314) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at com.android.internal.policy.impl.PhoneWindow$DecorView$ActionModeCallbackWrapper.onCreateActionMode(PhoneWindow.java:3020) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at com.android.internal.app.ActionBarImpl$ActionModeImpl.dispatchOnCreate(ActionBarImpl.java:1021) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at com.android.internal.app.ActionBarImpl.startActionMode(ActionBarImpl.java:550) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at android.app.Activity.onWindowStartingActionMode(Activity.java:5218) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at com.android.internal.policy.impl.PhoneWindow$DecorView.startActionMode(PhoneWindow.java:2632) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at com.android.internal.policy.impl.PhoneWindow$DecorView.startActionModeForChild(PhoneWindow.java:2619) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:675) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:675) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:675) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:675) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:675) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:675) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at android.view.View.startActionMode(View.java:4752) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at android.widget.Editor.startSelectionActionMode(Editor.java:1814) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at android.widget.Editor.performLongClick(Editor.java:1045) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at android.widget.TextView.performLongClick(TextView.java:10118) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at android.view.View$CheckForLongPress.run(View.java:19410) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at android.os.Handler.handleCallback(Handler.java:733) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at android.os.Handler.dispatchMessage(Handler.java:95) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at android.os.Looper.loop(Looper.java:146) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at android.app.ActivityThread.main(ActivityThread.java:5602) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at java.lang.reflect.Method.invokeNative(Native Method) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at java.lang.reflect.Method.invoke(Method.java:515) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 
10-28 11:08:56.311: E/AndroidRuntime(22228): at dalvik.system.NativeStart.main(Native Method) 
+0

Was sagt Logcat? –

+0

Den Fehler bitte posten, was in logcat –

+0

ist Ich aktualisierte die msg von logcat. Es sagte teilen durch Null .... aber die Editiertext-Longpress funktioniert gut in anderen Geräten –

Antwort

0

Wie haben Sie behandeln onLongPress und onDoubleClick in Ihrem Code?

Ich habe den folgenden Code in einem anderen Samsung Geräte (SM-A7009) getestet, konnte das Problem, das Sie beschrieben leider nicht finden.

Ich benutze GestureDetectoronLongPress und onDoubleClick Ereignis zu behandeln.

EditText editText1 = new EditText(this); 
    editText1.setText(R.string.app_name); 
    final GestureDetectorCompat gestureDetectorCompat = new GestureDetectorCompat(this, 
      new GestureDetector.SimpleOnGestureListener() { 

       @Override 
       public boolean onDown(MotionEvent e) { 
        return true; 
       } 

       @Override 
       public void onLongPress(MotionEvent e) { 
        super.onLongPress(e); 
        Log.d(TAG, "onLongPress"); 
       } 

       @Override 
       public boolean onDoubleTap(MotionEvent e) { 
        Log.d(TAG, "onDoubleTap"); 
        return super.onDoubleTap(e); 
       } 
      }); 
    editText1.setOnTouchListener(new View.OnTouchListener() { 
     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      return gestureDetectorCompat.onTouchEvent(event); 
     } 
    }); 
    setContentView(editText1); 
+0

Es ist nur ein Edittext ohne besondere Handhabung. Aber longpress wird in diesem edittext benötigt, da der Benutzer den text aus dem edittext kopieren möchte. Ich habe versucht, Ihren Code auf Samsung Note2, es stürzt nicht ab, aber es ist nicht mehr bearbeitbar und onlongpress würde es nicht markieren den Text/Wörter für die Kopie. –

Verwandte Themen