gpt4 book ai didi

Android 在没有 ContextMenu 的情况下选择 TextView/EditText 上的文本

转载 作者:行者123 更新时间:2023-11-29 02:37:26 25 4
gpt4 key购买 nike

正如我们在 TextViewEditText 中所知,在选择文本后我们有 ContextMenu,我的问题是:如何在没有 的情况下选择文本code>ContextMenu 或禁用显示?

此代码有效,但无法选择文本的原因

public class MyEditText extends AppCompatEditText {
private final Context mContext;
private int mPreviousCursorPosition;

public MyEditText(Context context) {
super(context);
this.mContext = context;
}

public MyEditText(Context context, AttributeSet attrs) {
super(context, attrs);
this.mContext = context;
}

public MyEditText(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
this.mContext = context;
}

@Override
protected void onSelectionChanged(int selStart, int selEnd) {
CharSequence text = getText();
if (text != null) {
if (selStart != selEnd) {
setSelection(selStart, selEnd);
return;
}
}
mPreviousCursorPosition = selStart;
super.onSelectionChanged(selStart, selEnd);
}
}

最佳答案

对于 API 级别 11 或更高级别,执行此操作:

edittext.setCustomSelectionActionModeCallback(new ActionMode.Callback() {

public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}

public void onDestroyActionMode(ActionMode mode) {
}

public boolean onCreateActionMode(ActionMode mode, Menu menu) {
//This will prevent opening the menu
return false;
}

public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
return false;
}
});

进一步阅读:

关于Android 在没有 ContextMenu 的情况下选择 TextView/EditText 上的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46263151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com