ActionMode
에 대한 사용자 정의 메뉴를 작성한 후 텍스트 선택 프로세스에서 사용자 정의 TextView.setCustomSelectionActionModeCallback(ActionMode)
으로 전달했습니다. 작동하지만, SubMenu
이 표시된 항목을 클릭하면 잠시 표시된 후 ActionMode
이 닫히고 하위 메뉴 항목을 선택할 수 없습니다. 그것은 또한 내 테마에 대해 MenuItem.SHOW_AS_ACTION_IF_ROOM
을 사용할 때 오버플로 항목을 사용할 때도 발생합니다. 아이디어가 있습니까? 내가 사용 안드로이드 ICSTextView ActionMode SubMenu를 제대로 표시 할 수 없음
1
A
답변
1
은 내가 EditText
이 초점을 잃었을 때 동작 모드/완료 닫혀 있는지 발견
@Override
public void onWindowFocusChanged(boolean hasWindowFocus) {
super.onWindowFocusChanged(hasWindowFocus);
if (mEditor != null) mEditor.onWindowFocusChanged(hasWindowFocus);
startStopMarquee(hasWindowFocus);
}
참고 : EditText
TextView
의 서브 클래스입니다.
void onWindowFocusChanged(boolean hasWindowFocus) {
if (hasWindowFocus) {
...
} else {
...
hideControllers();
...
}
}
내가 이것을 만들려고
솔루션 :
package com.edwardsp.sample.view;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.EditText;
public class CustomEditText extends EditText {
public CustomEditText(Context context) {
super(context);
}
public CustomEditText(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomEditText(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public CustomEditText(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
@Override
public void onWindowFocusChanged(boolean hasWindowFocus) {
if (hasWindowFocus) {
super.onWindowFocusChanged(hasWindowFocus);
}
}
}
정상 EditText
로 CustomEditText
를 사용합니다. 동작 모드 하위 메뉴가 표시 될 수 있습니다. 나는 CustomEditText
에서 이상한 행동을 찾지 못했습니다. 누군가이 구현에서 이상한 동작을 발견하면 알려 주시기 바랍니다.
해결할 수 있었습니까? –
두려워하지 않습니다 ... –