現在、編集テキストが画面に表示された警告ダイアログを維持しようとしています。いつものように、OK ボタンとキャンセル ボタンがあり、プロセスにエラー処理を少し追加したかったのです。ユーザーが編集テキスト ボックスにテキストを入力せずに [OK] を押した場合、エラーを通知するトースト メッセージが表示されるようにします。[OK] を押したい場合でも何かを入力する必要があるため、ダイアログ ボックスは表示されたままにする必要があります。
これは私がこれまでに持っているものです。ところで、ユーザーがドロップダウン リストから選択した内容に基づいて、ダイアログ ボックスがポップアップ表示されます。ダイアログボックスを維持するための助けをいただければ幸いです!!!
これが私のコードです:
regionSpinner.setOnItemSelectedListener(new OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> parent, View v, int position, long rowId)
{
regionSelect = regionSpinner.getItemAtPosition(position).toString();
regionInteger = (int) regionSpinner.getItemIdAtPosition(position);
chosenRegion = regionSpinner.getSelectedItem().toString();
if (chosenRegion.equals(ENTER_OPTION))
{
final AlertDialog.Builder alert = new AlertDialog.Builder(LoginActivity.this);
alert.setTitle(TITLE_DIALOG);
// Set an EditText view to get user input
final EditText input = new EditText(LoginActivity.this);
alert.setView(input);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int whichButton)
{
if(input.getText().toString().length() > 0 && input != null)
{
textValueForEnteredRegion = input.getText().toString();
Toast.makeText(getApplicationContext(), "Input Accepted", Toast.LENGTH_SHORT).show();
dialog.dismiss();
//added soft keyboard code to make keyboard go away.
getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}
else
{
Toast.makeText(getApplicationContext(), "You must enter a selection.", Toast.LENGTH_SHORT).show();
}
}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int whichButton)
{
// Canceled.
dialog.dismiss();
//added soft keyboard code to make keyboard go away.
getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}
});
alert.show();
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
}
});