无法在对话框中显示Spinner DropDown列表

时间:2014-04-30 09:23:09

标签: java android android-spinner android-dialog

我创建了一个按钮“设置”,当我点击时,显示一个对话框,用于身份验证。 我只是进行测试,如果编辑文本为空,则对话框会关闭另一个包含微调器的对话框显示。 这是代码:

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;

问题是当我点击登录按钮时,第二个对话框没有显示。 你能告诉我我的代码有什么问题吗?

1 个答案:

答案 0 :(得分:1)

你直接找到了微调器。 Chanage

spinner = (Spinner)findViewById(R.id.languagespinner);

spinner = (Spinner)settingdialog.findViewById(R.id.languagespinner);