关闭

EditText禁止复制粘贴

标签: 禁止复制禁止粘贴EditText
1406人阅读 评论(0) 收藏 举报
分类:
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="禁止复制粘贴" />

0
0
查看评论

Android EditText 的使用及值得注意的点——如如何屏蔽EditText的复制、粘贴功能

Android上有很多输入法应用,每种输入法都有各自的特点,输入法多数时候是和EditText配合使用,结合我自己的亲身实践分享一下使用EditText过程中遇到的一些问题及解决方法。 置默认输入法   有时候为了提高用户体验,在弹出输入法时需要设置默认的输入状态,比如单词应用...
  • lolafon
  • lolafon
  • 2016-11-21 09:17
  • 4218

Android edittext 禁止复制粘贴问题解决方案

1.平时看到一些博客介绍禁止edittext复制粘贴使用俩种方式 A:通过edittext的设置属性 edittext.setLongClickable(false); edittext.setTextIsSelectable(false); B: 通过设置callback监听 setCust...
  • nwlyf
  • nwlyf
  • 2016-04-20 13:33
  • 6521

Android edittext 禁止复制粘贴问题解决方案

1.平时看到一些博客介绍禁止edittext复制粘贴使用俩种方式 A:通过edittext的设置属性 edittext.setLongClickable(false); edittext.setTextIsSelectable(false); B: 通过设置callback监听 ...
  • myislijingjing
  • myislijingjing
  • 2017-06-18 15:13
  • 490

VC/MFC 使edit控件不能进行粘贴操作

这里使用消息拦截的方法BOOL PersonDlg::PreTranslateMessage(MSG* pMsg) { if (GetDlgItem(IDC_EDIT_USER_ID)->m_hWnd == pMsg->hwnd || GetDlgItem(IDC_E
  • xgx198831
  • xgx198831
  • 2011-10-09 09:40
  • 2632

android界开发如何禁止密码输入框复制粘贴

1、在API-11以下的版本只需要在Xml布局文件或者用代码把长按属性设置成false就可以;代码如下: editText.setLongClickable(false); // Xml layout file android:longClickable="false" ...
  • ZHOU452840622
  • ZHOU452840622
  • 2016-01-21 11:01
  • 1085

EditText 屏蔽选择、复制、粘贴等一切剪切板的操作

EditText 如何屏蔽选择、复制、粘贴等一切剪切板的操作呢?找到的资料,总结起来都是这的:editText.setLongClickable(false); editText.setCustomSelectionActionModeCallback(new ActionModeCallbackI...
  • zrbcsdn
  • zrbcsdn
  • 2017-08-25 09:54
  • 382

Android EditText 取消复制粘贴剪贴功能

Android原生功能:当长按EditText编辑框时,会弹出系统自带的复制、粘贴和剪切功能。 如果在做应用开发的时候需要取消这个功能该怎么做? 在API-11以下(也就是Android 3.0以下的版本)很简单,只需要在xml布局文件中设置longClickable="false&q...
  • ncepu307
  • ncepu307
  • 2014-01-16 16:31
  • 6803

EditText去掉复制粘贴的功能

EditText在双击文字的时候会弹出系统自带的复制粘贴剪切等功能。如下图所示   有的时候我们并不需要这样的功能,可以使用如下的方法来去掉这个的功能: editText.setCustomSelectionActionModeCallback(new Acti...
  • ifangler
  • ifangler
  • 2015-01-05 14:19
  • 1834

[译]禁止EditText弹出复制黏贴

原文链接:https://stackoverflow.com/questions/41673185/disable-edittext-context-menu禁止exittext弹出复制黏贴解决问题分三步step 1mEditEext.setCustomSelectionActionModeCall...
  • lihenair
  • lihenair
  • 2017-12-26 14:08
  • 63

Android EditText定制粘贴和定制输入

前言EditText是大家比较熟悉的输入框控件,我们长按,可以使用系统自带的复制粘贴功能;另外获得焦点后,也能和输入法进行交互,实现文字的输入! 如果一个EditText,没有设置任何style,我们想在粘贴显示之前,做一些逻辑上的操作,比如一段文字是粗体或者倾斜的,我想粘贴过来也是粗体或者倾斜,...
  • aiynmimi
  • aiynmimi
  • 2016-12-12 15:37
  • 3133
    个人资料
    • 访问:167868次
    • 积分:3127
    • 等级:
    • 排名:第13130名
    • 原创:156篇
    • 转载:4篇
    • 译文:1篇
    • 评论:62条
    最新评论