【问题标题】:Can't show Spinner DropDown list inside a dialog无法在对话框中显示 Spinner DropDown 列表
【发布时间】:2014-04-30 17:29:44
【问题描述】:

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

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;

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

【问题讨论】:

    标签: java android android-spinner android-dialog


    【解决方案1】:

    您可以直接找到微调器。 改变

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

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

    【讨论】:

    • 我做不到,对不起:(我的声望不够
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多