android edittext不可复制_Android EditText禁止复制粘贴

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

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文件中这样使用

android:id="@+id/ddd"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="禁止复制粘贴" />

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值