我创建了一个按钮“设置”,当我点击时,显示一个对话框,用于身份验证。 我只是进行测试,如果编辑文本为空,则对话框会关闭另一个包含微调器的对话框显示。 这是代码:
case R.id.bsettings:
// Create Object of Dialog class
final Dialog login = new Dialog(MainActivity.this);
// Set GUI of login screen
login.setContentView(R.layout.login_dialog);
login.setTitle("Settings connection");
// Init button of login GUI
Button btnLogin = (Button) login.findViewById(R.id.btn_set_Login);
Button btnCancel = (Button) login.findViewById(R.id.btn_set_Cancel);
final EditText Id = (EditText)login.findViewById(R.id.id_setting);
final EditText txtPassword = (EditText)login.findViewById(R.id.Password_setting);
// Attached listener for login GUI button
btnLogin.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(Id.getText().toString().trim().length() > 0 && txtPassword.getText().toString().trim().length() > 0)
{
// Validate Your login credential here than display message
Toast.makeText(MainActivity.this,
"Login Sucessfull", Toast.LENGTH_LONG).show();
// Redirect to dashboard / home screen.
login.dismiss();
final Dialog settingdialog = new Dialog(MainActivity.this);
settingdialog.setContentView(R.layout.setting_dialog);
settingdialog.setTitle("Settings Menu");
spinner = (Spinner)findViewById(R.id.languagespinner);
ArrayAdapter<String>adapter = new ArrayAdapter<String>(MainActivity.this,
android.R.layout.simple_spinner_item,language);
spinner.setAdapter(adapter);
settingdialog.show();
}
else
{
Toast.makeText(MainActivity.this,
"Please enter Username and Password", Toast.LENGTH_LONG).show();
}
}
});
btnCancel.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
login.dismiss();
}
});
// Make dialog box visible.
login.show();
login.getWindow().setGravity(Gravity.TOP);
break;
问题是当我点击登录按钮时,第二个对话框没有显示。 你能告诉我我的代码有什么问题吗?
答案 0 :(得分:1)
你直接找到了微调器。 Chanage
spinner = (Spinner)findViewById(R.id.languagespinner);
到
spinner = (Spinner)settingdialog.findViewById(R.id.languagespinner);