Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 访问对话框首选项中的窗口小部件状态_Java_Android_Android Activity_Android Preferences_Preferenceactivity - Fatal编程技术网

Java 访问对话框首选项中的窗口小部件状态

Java 访问对话框首选项中的窗口小部件状态,java,android,android-activity,android-preferences,preferenceactivity,Java,Android,Android Activity,Android Preferences,Preferenceactivity,我的首选项活动中有一个对话框,定义如下(布局是用xml定义的): 对话框中有几个小部件,即一个RadioGroup和几个RadioButtons。我目前无法在onClick方法中找到访问这些小部件的方法 访问这些小部件的方法是什么?下面是我的全部代码 final AlertDialog.Builder Main_Dialog = new AlertDialog.Builder(this); ////This is how to set layout

我的首选项活动中有一个对话框,定义如下(布局是用xml定义的):

对话框中有几个小部件,即一个
RadioGroup
和几个
RadioButton
s。我目前无法在
onClick
方法中找到访问这些小部件的方法


访问这些小部件的方法是什么?

下面是我的全部代码

final AlertDialog.Builder Main_Dialog = new AlertDialog.Builder(this);
            ////This is how to set layout
            final View layout = getLayoutInflater().inflate(R.layout.conpassword,null);
    Main_Dialog.setTitle("Choose reminder");
    Main_Dialog.setView(layout);


    Main_Dialog.setTitle("Enter IP Address:");
    Main_Dialog.setPositiveButton("Ok", new DialogInterface.OnClickListener()
    {
        public void onClick(DialogInterface dialog, int whichButton)
        {
            connectWIFi();
            if (connect && ni.getType() == ConnectivityManager.TYPE_WIFI)
            {
                                    final ImageButton input = (ImageButton) layout.findViewById(R.id.ImageButton01);
                saveIP(input.getText().toString(), deviceId);

                Thread cThread = new Thread(new ClientServer(LoginScreen.this, input.getText().toString(),
                        deviceId, mHandler));
                cThread.start();

                dialog.dismiss();
            }
            else
            {
                Builder builder = new AlertDialog.Builder(LoginScreen.this);
                builder.setTitle("Alert !");
                builder.setMessage("No WiFi connection. Please check your WiFi settings");
                builder.setPositiveButton("Ok", null);
                builder.show();
            }
        }
    });
    Main_Dialog.show();

我不知道你为什么不能让getLayoutInflater变得更流畅,但这段代码对我来说运行平稳

下面是我的全部代码,我是如何做到这一点的

final AlertDialog.Builder Main_Dialog = new AlertDialog.Builder(this);
            ////This is how to set layout
            final View layout = getLayoutInflater().inflate(R.layout.conpassword,null);
    Main_Dialog.setTitle("Choose reminder");
    Main_Dialog.setView(layout);


    Main_Dialog.setTitle("Enter IP Address:");
    Main_Dialog.setPositiveButton("Ok", new DialogInterface.OnClickListener()
    {
        public void onClick(DialogInterface dialog, int whichButton)
        {
            connectWIFi();
            if (connect && ni.getType() == ConnectivityManager.TYPE_WIFI)
            {
                                    final ImageButton input = (ImageButton) layout.findViewById(R.id.ImageButton01);
                saveIP(input.getText().toString(), deviceId);

                Thread cThread = new Thread(new ClientServer(LoginScreen.this, input.getText().toString(),
                        deviceId, mHandler));
                cThread.start();

                dialog.dismiss();
            }
            else
            {
                Builder builder = new AlertDialog.Builder(LoginScreen.this);
                builder.setTitle("Alert !");
                builder.setMessage("No WiFi connection. Please check your WiFi settings");
                builder.setPositiveButton("Ok", null);
                builder.show();
            }
        }
    });
    Main_Dialog.show();

我不知道你为什么不能让GetLayoutDialog变得更平坦,但是这段代码对我来说运行平稳

你可以将
对话框界面
转换为
警报对话框
,如下所示:

public void onClick (DialogInterface dialog, int which) {
    if (DialogInterface.BUTTON_POSITIVE == which) {
        RadioButton button = (RadioButton) ((AlertDialog) dialog).findViewById(R.id.radio_button_id);
        // continue using button
    }
}

(或类似内容)

您可以将
对话框界面
转换为
警报对话框
,如下所示:

public void onClick (DialogInterface dialog, int which) {
    if (DialogInterface.BUTTON_POSITIVE == which) {
        RadioButton button = (RadioButton) ((AlertDialog) dialog).findViewById(R.id.radio_button_id);
        // continue using button
    }
}

(或类似的东西)

getLayoutInflater
不是
android.preference.DialogPreference
的成员,你在做什么?我在
android.preference.DialogPreference
code中得到
onClick
,我已经更新了我的答案,可能是您正在使用类,这就是为什么它不工作
getLayoutInflater
不是
android.preference.DialogPreference
的成员,您在做什么?我在
android.preference.DialogPreference
code中得到
onClick
,我已经更新了我的答案,可能是您正在使用类,这就是它不工作的原因