1.获取光标选中的文字


EditText view = (EditText)findViewById(R.id.edt);

int start = view.getSelectionStart();

int end = view.getSelectionEnd();

//由于选择的位置和你开始选择文字的顺序有关,所以最好重新判断整理一下顺序,免得出错

if (start>end) {
start = start + end ;
end = start - end;
start = start - end;
}


String sub = view .getText() .toString().substring(start, end);


2.设置光标在输入框的位置

在编写应用的时候,如果我们要将光标定位到某个位置,可以采用下面的方法:

 CharSequence text = editText.getText(); //Debug.asserts(text instanceof Spannable); if (text instanceof Spannable) {     Spannable spanText = (Spannable)text;     Selection.setSelection(spanText, text.length()); }

其中红色标记的代码为你想要设置的位置,此处是设置到文本末尾。



3 在指定位置插入字符串

public class EditTextCopyActivity extends Activity {
/** Called when the activity is first created. */
private EditText et1 ,et2,et3,et4,et5,et6,et7;
private Button bt1,bt2,bt3;
private ClipboardManager clip ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initViews();

bt1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {

View view = getCurrentFocus();
if (view instanceof EditText) {
EditText et = (EditText)view;
int start = et.getSelectionStart();
int end = et.getSelectionEnd();
if (start>end) {
start = start + end ;
end = start - end;
start = start - end;
}
String sub = et.getText().toString().substring(start, end);
clip.setText(sub);
}
}
});

bt2.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
View view = getCurrentFocus();
if (view instanceof EditText) {
EditText et = (EditText)view;
int start = et.getSelectionStart();
System.out.println(start+"--------------");
String s = clip.getText().toString();
et.getText().insert(start,s);
}
}
});

bt3.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
View view = getCurrentFocus();
if (view instanceof EditText) {
EditText et = (EditText)view;
int start = et.getSelectionStart();
int end = et.getSelectionEnd();
if (start>end) {
start = start + end ;
end = start - end;
start = start - end;
}
String sub = et.getText().toString().substring(start, end);
et.getText().delete(start, end);
clip.setText(sub);
}
}


});

}
private void initViews(){
et1 = (EditText)this.findViewById(R.id.editText1);
et2 =(EditText)this.findViewById(R.id.editText2);
et3 =(EditText)this.findViewById(R.id.editText3);
et4 =(EditText)this.findViewById(R.id.editText4);
et5 =(EditText)this.findViewById(R.id.editText5);
et6 =(EditText)this.findViewById(R.id.editText6);
clip = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);
bt1=(Button)this.findViewById(R.id.button1);
bt2 = (Button)this.findViewById(R.id.button2);
bt3 = (Button)this.findViewById(R.id.button3);
}



}

更多相关文章

  1. Android实现广告图片轮播效果
  2. Android(安卓)EditText的光标的显示与隐藏
  3. android listview item 被选中背景色设置
  4. Android(安卓)博文积累
  5. Android限制EditText输入金额小于1E,并最多2位小数
  6. [Android]把busybox上所有命令映射出来;
  7. 解决了在Android原生TextView中,当text长度小于hint时,TextView右
  8. Android(安卓)Listview分组特效:滑动分组标题当前固定,并随内容滑
  9. Android文件下载功能实现代码

随机推荐

  1. Android签名验证简介
  2. Android(安卓)webview 常用配置
  3. Android原生运行uniapp使用5+app创建项目
  4. Android音频介绍
  5. android sdk content loader 一直显示0%
  6. [android] PhoneGap 在 android 下的实现
  7. 一键解决Ubuntu下安装Eclipse Android/C/
  8. android 中的xml解析
  9. android stuio eclipse映射下的快捷键
  10. Android使用FFmpeg(三)--ffmpeg实现视频