【发布时间】:2014-05-16 00:54:48
【问题描述】:
我有一个对话框片段,允许用户指定一些文本以及文本的位置。
我想限制用户输入大于某个字符上限的文本。 我可以限制最大字符输入吗?否则,我可以在此代码中的何处包含检查以确保文本小于 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();
}
【问题讨论】:
标签: android android-fragments dialog android-alertdialog