Я использую Alert Dialog as Login. Поэтому после закрытия этого диалога любое значение, назначенное в диалоговом окне show(), теряется. как вернуть это значение? мой код нижехочу вернуть любую ценность после закрытия Alert Dialog
private void accessPinCode()
{
LayoutInflater factory = LayoutInflater.from(this);
final View textEntryView = factory.inflate(R.layout.dialog_login, null);
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Title");
alert.setMessage("Enter Pin :");
alert.setView(textEntryView);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
EditText mUserText;
mUserText = (EditText) textEntryView.findViewById(R.id.txt_password);
//String strPinCode = mUserText.getText().toString();
Log.d(TAG, "Pin Value 1 : " + mUserText.getText().toString());
strPIN = mUserText.getText().toString();
Log.d(TAG, "strPIN inside accessPinCode : " + strPIN);
fPIN= checkPINCode();
Log.d(TAG, "fPass : " + fPIN);
return;
}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
return;
}
});
alert.show();
Log.d(TAG, "strPIN outside Alert Show : " + strPIN);
}
На основании моего кода значения strPIN и FPIN теряются. Я хочу использовать эти значения вне функции accessPinCode. как получить?
Фактически, я вызываю эту функцию при событии tabchanged. Если вход в систему проходит, пользователь может получить доступ к другой вкладке. Но все уже работали в событии с измененной вкладкой, прежде чем нажимать кнопку «ОК» AlertDialog. Моя вкладка, как показано ниже
tabHost.setOnTabChangedListener(new OnTabChangeListener() {
public void onTabChanged(String tabId) {
// TODO Auto-generated method stub
if (tabId.equals("index"))
{
tabHost.setCurrentTab(1);
accessPinCode();
}
Log.d(TAG, "tabId : "+ tabId);
}
});
Есть ли какой-либо тип диалога для входа? Как решить?
Небольшой совет: используйте 'android.R.string.ok' и' android.R.string.cancel' вместо «Ok» и «Cancel». – Felix
Спасибо. Я буду – soclose
Наконец, вместо вызова метода accessPinCode внутри события Tab OnChanged я помещаю все alertDialog в это событие. Потому что я хочу установить текущую вкладку, если будет проходить вход. Спасибо вам всем. – soclose