2011-10-28 55 views
16

我正在替換EditText中的一些文本,然後我想將光標移動到當前文本輸入的末尾。它似乎有用 - 當我再次開始輸入時,光標似乎位於EditText的末尾,但它不再閃爍/眨眼。我必須再次觸摸EditText以使光標再次開始閃爍。我是不是做錯了?:將光標移動到EditText的結尾處?

editText.setSelection(editText.getText().length()-1); 

感謝

回答

41

一招我所用設置爲「」,然後附加整個字符串我想要的文字。

String newtext = editText.getText().toString() + "the new text"; 
editText.setText(""); 
editText.append(newtext); 

這似乎將光標放在適合我的地方。

+0

可惜我不能重置所有的測試,因爲我有跨度我需要保持。但是,在完成上述操作後,光標會再次閃爍嗎? – user291701

+0

是的,這個解決方案爲我工作。 – tarrant

15
EditText et = (EditText)findViewById(R.id.inbox); 
et.setSelection(et.getText().length()); 

第二種方法

有一個名爲追加用於ediitext其中附加字符串值與當前的EditText值和在所述值的末尾將光標置於功能。您可以將字符串值作爲當前的ediitext值本身並調用append();

myedittext.append("current_this_edittext_string"); 
+1

謝謝。這兩種方法似乎都適用於我。 –

+0

imo第一種方法是整齊 – Pooya

+0

第一種方法有效! – Yashovardhan

0

爲了讓用戶改變編輯文本內的全部文本(使用戶更加友好)

editText.selectAll(); //user can delete the whole text at one go 
editText.requestFocus(); 
相關問題