本文實例講述了Android編程之EditText常見操作。分享給大家供大家參考,具體如下:
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()); }其中的代碼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); }}更多關于Android相關內容感興趣的讀者可查看本站專題:《Android開發入門與進階教程》、《Android視圖View技巧總結》、《Android編程之activity操作技巧總結》、《Android操作SQLite數據庫技巧總結》、《Android操作json格式數據技巧總結》、《Android數據庫操作技巧總結》、《Android文件操作技巧匯總》、《Android編程開發之SD卡操作方法匯總》、《Android資源操作技巧匯總》及《Android控件用法總結》
希望本文所述對大家Android程序設計有所幫助。
新聞熱點
疑難解答