我有一個對話框片段,允許用戶指定一些文本和文本的位置。如何處理警報對話框中的無效輸入?
我想限制進入文本不是字符的一些上限的用戶。 我可以限制最大字符輸入嗎?否則,在這段代碼中,我可以包含一個檢查以確保文本小於LIMIT? 下面是代碼:
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the Builder class for convenient dialog construction
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
final CharSequence[] items = {"Above", "Below"};
capPos = Position.ABOVE;
final EditText input = new EditText(getActivity());
input.setInputType(EditorInfo.TYPE_CLASS_TEXT);
input.setHint("Add caption here");
builder.setView(input);
builder.setTitle(R.string.dialog_caption)
.setPositiveButton(R.string.proceed, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
text = input.getText().toString();
mListener.onDialogPositiveClick(CaptionFragment.this);
}
})
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
mListener.onDialogNegativeClick(CaptionFragment.this);
}
})
.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id){
if ("Above".compareTo(items[id].toString()) == 0){
capPos = Caption.Position.ABOVE ;
Log.i("CaptionFragment", "Above");
}else if ("Below".compareTo(items[id].toString()) == 0){
capPos = Caption.Position.BELOW;
Log.i("CaptionFragment", "Below");
}
}
});
// Create the AlertDialog object and return it
return builder.create();
}