欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > Android >内容正文

Android

Android EditText禁止复制粘贴

发布时间:2025/4/16 Android 60 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Android EditText禁止复制粘贴 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
1,自定义EditText package com.example.ui; import android.annotation.SuppressLint; import android.content.Context; import android.util.AttributeSet; import android.view.ActionMode; import android.view.Menu; import android.view.MenuItem; import android.widget.EditText;@SuppressLint("NewApi") public class NoMenuEditText extends EditText { private final Context context;/** * This is a replacement method for the base TextView class' method of the * same name. This method is used in hidden class android.widget.Editor to * determine whether the PASTE/REPLACE popup appears when triggered from the * text insertion handle. Returning false forces this window to never * appear. * * @return false */ boolean canPaste() { return false; }/** * This is a replacement method for the base TextView class' method of the * same name. This method is used in hidden class android.widget.Editor to * determine whether the PASTE/REPLACE popup appears when triggered from the * text insertion handle. Returning false forces this window to never * appear. * * @return false */ @Override public boolean isSuggestionsEnabled() { return false; }public NoMenuEditText(Context context) { super(context); this.context = context; init(); }public NoMenuEditText(Context context, AttributeSet attrs) { super(context, attrs); this.context = context; init(); }public NoMenuEditText(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); this.context = context; init(); }private void init() { this.setCustomSelectionActionModeCallback(new ActionModeCallbackInterceptor()); this.setLongClickable(false); }/** * Prevents the action bar (top horizontal bar with cut, copy, paste, etc.) * from appearing by intercepting the callback that would cause it to be * created, and returning false. */ private class ActionModeCallbackInterceptor implements ActionMode.Callback { private final String TAG = NoMenuEditText.class.getSimpleName();public boolean onCreateActionMode(ActionMode mode, Menu menu) { return false; }public boolean onPrepareActionMode(ActionMode mode, Menu menu) { return false; }public boolean onActionItemClicked(ActionMode mode, MenuItem item) { return false; }public void onDestroyActionMode(ActionMode mode) { } } } 2,在layout.xml文件中这样使用 <com.example.ui.NoMenuEditText android:id="@+id/ddd" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="禁止复制粘贴" />

 

总结

以上是生活随笔为你收集整理的Android EditText禁止复制粘贴的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。