项目中点击一个TEXT VIEW后,弹出编辑对话框,代码示例:
public void showEditDialog( ){
final EditText et = new EditText(context);
et.setText("default data");
et.setSelection(0, et.getText().toString().length());
new AlertDialog.Builder(context).setTitle("dialog title")
.setView(et)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// et.getText().toString();
}
}).setNegativeButton("取消",null).show();
Handler h = new Handler();
h.postDelayed(new Runnable() {
@Override
public void run() {
et.requestFocus();
InputMethodManager imm = (InputMethodManager) context.
getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(et, InputMethodManager.SHOW_IMPLICIT);
}
}, 200);
}
其中 setSelection 是默认对话框显示中,帮助用户选中所有文字,这样用户可以直接删除,输入其希望的新内容。
Handler post runnable 则是帮助用户弹出软键盘(输入法)。