androidedittext粘贴
A. Android中怎么将一个edittext里的文本传到另一个edittext中
edittext控件有监听事件,在事件中获取第一个edittext中的字符串,然后用setText方法显示到第二个edittext中,这样边输入边显示。
B. android 开发怎么让 edittext的内容不可以被复制
setLongClickable(false);
你试试看。
edittext空间本身没有复制粘贴的功能,你把复制粘贴的代码删掉就行了
C. Android的EditText长按只显示上面的复制粘贴菜单,不要弹出下面的输入法键盘怎么做
4.0以上的API禁止EditText弹出键盘需要这样写:
4.0的是setShowSoftInputOnFocus,4.2的是setSoftInputOnFocus。
java">EditTexteditText;
//editText的实例化我不写了
InputMethodManagerimm=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(e1.getWindowToken(),0);
try{
Class<EditText>cls=EditText.class;
setSoftInputShownOnFocus=cls.getMethod("setShowSoftInputOnFocus",boolean.class);
setSoftInputShownOnFocus.setAccessible(true);
setSoftInputShownOnFocus.invoke(editText,false);
}catch(Exceptione){
e.printStackTrace();
}
并且还要在配置文件里面加上android:windowSoftInputMode="stateHidden"
4.0以下的可用editText.setInputType(InputType.TYPE_NULL);
或者直接在XML进行属性设置。
如果对4.0以上系统的操作这句代码,EditText将会没有光标。
D. 如何捕获Edittext的粘贴方法
以下是TextView(EditText extends TextView)对于复制黏贴的实现过程:
[Java] 纯文本查看 复制代码
public boolean onTextContextMenuItem(int id) {
... ...
ClipboardManager clip = (ClipboardManager)getContext().getSystemService(Context.CLIPBOARD_SERVICE);
switch (id) {
... ...
case ID_COPY:
clip.setText(mTransformed.subSequence(min, max));
stopTextSelectionMode();
return true;
case ID_PASTE:
CharSequence paste = clip.getText();
if (paste != null && paste.length() > 0) {
long minMax = prepareSpacesAroundPaste(min, max, paste);
min = extractRangeStartFromLong(minMax);
max = extractRangeEndFromLong(minMax);
Selection.setSelection((Spannable) mText, max);
((Editable) mText).replace(min, max, paste);
stopTextSelectionMode();
}
return true;
textview的所有源码,可以参考:
TextView.zip (57.92 KB, 下载次数: 169)
实现思路(这个是给复制文本添加内容,比如前缀。正则表达式可以在获得的内容中进行判断):
[Java] 纯文本查看 复制代码
public class MyEditText extends EditText {
private static final int ID_PASTE = android.R.id.paste;
public MyEditText(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onTextContextMenuItem(int id) {
if(id == ID_PASTE){
ClipboardManager clip = (ClipboardManager)getContext().getSystemService(Context.CLIPBOARD_SERVICE);
clip.setText("[color=#ff0000]APKBus==>[/color]"+clip.getText());
}
return super.onTextContextMenuItem(id);
}
}
布局:
[XHTML] 纯文本查看 复制代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.example.customeredittexttest.MyEditText
android:id="@+id/edit"
android:layout_width="match_parent"
android:layout_height="50dip"
android:layout_alignParentTop="true"
/>
</RelativeLayout>
E. android如何实现复制/粘贴功能
/**
*Android用于复制粘贴数据的框架CopyandPaste。支持简单和复杂的数据,包括本文(Text)、
*复杂的数据结构(textandbinarystreamdata)、数据流(Stream)、程序asset等。
*/
{
privateEditText_edt,paste_edt;
privateButton_btn,paste_btn;
//剪切板管理工具类
;
//剪切板Data对象
privateClipDatamClipData;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mClipboardManager=(ClipboardManager)getSystemService(CLIPBOARD_SERVICE);
initViews();
initListeners();
}
privatevoidinitViews(){
this._btn=(Button)findViewById(R.id._btn);
this.paste_btn=(Button)findViewById(R.id.paste_btn);
this._edt=(EditText)findViewById(R.id._edt);
this.paste_edt=(EditText)findViewById(R.id.paste_edt);
}
privatevoidinitListeners(){
this._btn.setOnClickListener(this);
this.paste_btn.setOnClickListener(this);
}
@Override
publicvoidonClick(Viewv){
String=_edt.getText().toString().trim();
switch(v.getId()){
caseR.id._btn:
if(TextUtils.isEmpty()){
Toast.makeText(getApplicationContext(),"请输入内容!",
Toast.LENGTH_SHORT).show();
return;
}
//创建一个新的文本clip对象
mClipData=ClipData.newPlainText("Simpletest",);
//把clip对象放在剪贴板中
mClipboardManager.setPrimaryClip(mClipData);
Toast.makeText(getApplicationContext(),"文本已经复制成功!",
Toast.LENGTH_SHORT).show();
break;
caseR.id.paste_btn:
//GET贴板是否有内容
mClipData=mClipboardManager.getPrimaryClip();
//获取到内容
ClipData.Itemitem=mClipData.getItemAt(0);
Stringtext=item.getText().toString();
paste_edt.setText(text);
Toast.makeText(getApplicationContext(),"粘贴成功!s",
Toast.LENGTH_SHORT).show();
break;
}
}
}
F. android如何禁止edittext复制粘贴
禁止edittext复制粘贴有以下几种情况,需要区别对待:
1、在API-11以下的版本只需要在Xml布局文件或者用代码把长按属性设置成false就可以;代码如下:
editText.setLongClickable(false);//Xmllayoutfileandroid:longClickable="false"
2、在API-11及以上的话,取消长按就不能完全有效了,最根本的是无效化选择的操作;代码如下:
editText.(newActionMode.Callback(){
@Override
(ActionModemode,Menumenu){
returnfalse;
}
@Override
publicvoidonDestroyActionMode(ActionModemode){
}
@Override
(ActionModemode,Menumenu){
returnfalse;
}
@Override
(ActionModemode,MenuItemitem){
returnfalse;
}
});
注意:EditText在横屏编辑的时候会出现一个新的不同的编辑界面,这个界面里还是可以复制粘贴的,因此也要取消这个额外的UI:
editText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);//android:imeOptions="flagNoExtractUi"
G. android类似EditText复制粘贴板功能
用popwindow,有个showatLocation方法,至于参数就用你当前的位置来想办法生成。
H. Android EditText如何禁止弹出复制粘贴菜单
禁止长按。我的版本是4.4的可以啊。
在xml里面定义的:
<EditText android:id="@+id/et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:longClickable="false" />
I. 你好,请问一下如何才能实现对安卓中的输入框输入的文字进行自动全选复制和粘贴啊
直接在edittext中长按,系统就会自动弹出菜单, 可以全选,剪切,复制,粘贴的, 自己试试吧。注意要在edittext的内容中长按才有效.
J. 怎样禁掉Android中EditText控件的粘贴功能
你可以这样:用自定义View解决这个问题.
重写EditText类.继承EditText,里面要重写高度之类的方法,具体可以搜一下.
重写EditText的
public
boolean
onTextContextMenuItem(int
id)
{
return
super.onTextContextMenuItem(id);
}
方法,根据id判断当前操作:
id:16908319
全选
id:16908328
选择
id:16908320
剪贴
id:16908321
复制
id:16908322
粘贴
id:16908324
输入法
在监听里你就可以做判断然后不让这个方法响应就ok了
xml文件中引入自定义view,这个和v4包widget引用的方法一样
我所能想到的就是这个方法了.