1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > android edittext不可复制_Android EditText禁止复制粘贴

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

时间:2018-07-21 10:37:24

相关推荐

android edittext不可复制_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文件中这样使用

android:id="@+id/ddd"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。