2016-10-27 3 views
0

삼성 장치에 대한 글고의 모든 onLongPress/onDoubleClick를 들어에게에 onDoubleCheck이 응용 프로그램은 충돌합니다. 그러나 다른 장치에서는 문제가 발생하지 않습니다. 디버깅을 위해 기존 노트 2를 사용 중이며 포럼에 게시 된 비슷한 문제를 봅니다 (그러나 삭제되었습니다). 누구든지 솔루션을 공유하면 좋을 것입니다.글고 : 충돌 onLongPress, 삼성 장치 만

<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" /> 

로그 캣 메시지 :

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

Logcat은 무엇이라고 말합니까? –

+0

오류 게시 Logcat에 무엇이 있는지 알려주세요. –

+0

logcat에서 msg를 업데이트했습니다. 그것은 0으로 나눈 것이라고 ....하지만 편집 장치 긴 프레스는 다른 장치에서 잘 작동합니다. –

답변

0

어떻게 당신이 당신의 코드에서 onLongPressonDoubleClick을 처리 했습니까?

다음 코드를 다른 에서 테스트했습니다. (SM-A7009) 삼성 장치는 불행히도이 문제를 찾을 수 없습니다.

나는 onLongPressonDoubleClick 이벤트를 처리하기 위해 GestureDetector을 사용합니다.

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

이것은 특별한 편집이없는 편집 텍스트이다. 손질. 그러나 사용자가 편집 문구에서 텍스트를 복사하기를 길게하기 때문에이 편집문에는 롱 프레스가 필요합니다. Samsung Note2에서 코드를 시도했지만 충돌이 발생하지 않지만 더 이상 편집 할 수 없으며 onLongpress에서는 텍스트/단어를 강조 표시하지 않습니다. –