1
我正在顯示一個包含編輯文本的警告框,供用戶更改文件的名稱。如何在軟鍵盤顯示時選擇文本塊
但是,我想要自動選擇文件的後綴名(例如:「.jpg」)。
我使用EditText.setSelection(0, name.length()-4)
並按照我的意願選擇了名稱塊。
但是,當我點擊編輯文本使軟鍵盤出現時,選擇消失了。
如何讓選擇消失?或者,如何在顯示軟鍵盤時自動設置選擇?
以下是我顯示的警告對話框中的代碼:
private void updateItemFileName(final long ID, final String oldName) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Enter new name");
final EditText input = new EditText(this);
input.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT));
input.setText(oldName);
/* Select the "name" block except for the suffix*/
input.setSelection(0, oldName.length() - 4);
builder.setView(input);
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//TODO: change the name and refresh list view
}
});
builder.setNegativeButton("Cancel", null);
builder.create().show();
}
我正在使用警報對話框。我應該在哪裏放這個代碼?你可以參考我添加到問題中的代碼。 – Robin
在調用'builder.setView(input)'之前,你有嘗試過嗎?請記住在我的示例代碼中將'myEditText'更改爲'input',因爲這就是您所謂的EditText。 – krodmannix