У меня есть приложение, позволяющее мне показывать при запуске диалогового окна, в котором введите имя пользователя и пароль для входа в систему. Если ваше имя пользователя и пароль верны, моя деятельность по изменению программы, если она неверна, она должна повторить диалог для введите снова имя пользователя и пароль. Моя проблема заключается в том, чтобы повторить диалог, когда вход неверенандроид повторить диалог после нажатия на него
Вот код:
public Dialog onCreateDialog(Bundle savedInstanceState) {
inflater = getActivity().getLayoutInflater();
v = inflater.inflate(R.layout.my_dialog_layout,null);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setView(v).setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
username = (EditText) v.findViewById(R.id.username);
password = (EditText) v.findViewById(R.id.password);
String user = "";
String pswd = "";
try {
File file=new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/Download/"+"user.txt");
InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream(file));
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
StringBuilder stringBuilder = new StringBuilder();
user = bufferedReader.readLine().toString();
pswd = bufferedReader.readLine();
}catch (FileNotFoundException e) {
Log.e("login activity", "File not found: " + e.toString());
}catch (IOException e) {
Log.e("login activity", "Can not read file: " + e.toString());
}
if (username.getText().toString().equals(user) && password.getText().toString().equals(pswd)) {
Intent i = new Intent("user_activity");
startActivity(i);
Toast.makeText(getActivity(), "Welcome: " + username.getText().toString(), Toast.LENGTH_LONG).show();
} else {
//here it should me repeat this dialog
Toast.makeText(getActivity(), "Username invalid", Toast.LENGTH_LONG).show();
}
}
}).setNegativeButton("EXIT", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
((MainActivity)getActivity()).finish();
}
});
return builder.create();
}
Спасибо всем
см. Этот вопрос: http://stackoverflow.com/questions/4016313/how-to-keep-an-alertdialog-open-after-button-onclick-is-fired – samgak