Java 自定义布局的AlertDialog.Builder无法打开?

Java 自定义布局的AlertDialog.Builder无法打开?,java,android,layout,dynamic,spinner,Java,Android,Layout,Dynamic,Spinner,在我的应用程序中,我试图用我在自定义布局中定义的两个微调器打开一个对话框。对于Spinner的项,我定义了一个带有下拉项的arraylist,当选中该项时,它将执行特定的功能。在编译过程中,它不会显示错误,但在尝试打开对话框时,应用程序会崩溃 代码: AlertDialog.Builder rdialog = new AlertDialog.Builder(MainActivity.this); rdialog.setTitle("Flavours");

在我的应用程序中,我试图用我在自定义布局中定义的两个微调器打开一个对话框。对于Spinner的项,我定义了一个带有下拉项的
arraylist
,当选中该项时,它将执行特定的功能。在编译过程中,它不会显示错误,但在尝试打开对话框时,应用程序会崩溃

代码:

AlertDialog.Builder rdialog = new AlertDialog.Builder(MainActivity.this);
            rdialog.setTitle("Flavours");
            rdialog.setIcon(android.R.drawable.ic_input_get);
            LayoutInflater inflater = LayoutInflater.from(getApplicationContext());
            alertView = inflater.inflate(R.layout.rptsetting,null);

            Spinner fSpinner = (Spinner)findViewById(R.id.fSpinner);
            ArrayList<String> arrayList1 = new ArrayList<String>();
            arrayList1.add("Chocolate");
            arrayList1.add("vanila");
            ArrayAdapter<String> adp = new ArrayAdapter<String> (MainActivity.this,android.R.layout.simple_spinner_dropdown_item,arrayList1);
            fSpinner.setAdapter(adp);
            fSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {

                @Override
                public void onItemSelected(AdapterView<?> arg0, View arg1,
                        int arg2, long arg3) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void onNothingSelected(AdapterView<?> arg0) {
                    // TODO Auto-generated method stub

                }
            });

            Spinner phSpinner = (Spinner)findViewById(R.id.phSpinner);
            ArrayList<String> arrayList2 = new ArrayList<String>();
            arrayList2.add("9991734971");
            ArrayAdapter<String> adp1 = new ArrayAdapter<String> (MainActivity.this, android.R.layout.simple_spinner_dropdown_item,arrayList2);
            phSpinner.setAdapter(adp1);
            phSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {

                @Override
                public void onItemSelected(AdapterView<?> arg0, View arg1,
                        int arg2, long arg3) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void onNothingSelected(AdapterView<?> arg0) {
                    // TODO Auto-generated method stub

                }
            });

            EditText phNumber = (EditText)findViewById(R.id.phNumber);
            rdialog.setView(alertView);
            rdialog.setNeutralButton("SUBMIT", new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) {

                    dialog.dismiss();   
                    }
                });

            AlertDialog rdialog1 = rdialog.create();
            rdialog1.show();
AlertDialog.Builder rdialog=新建AlertDialog.Builder(MainActivity.this);
rdialog.setTitle(“味道”);
rdialog.setIcon(android.R.drawable.ic_input_get);
LayoutFlater充气器=LayoutFlater.from(getApplicationContext());
alertView=充气机。充气(R.layout.rptsetting,null);
微调器fSpinner=(微调器)findViewById(R.id.fSpinner);
ArrayList ArrayList 1=新的ArrayList();
arrayList1.添加(“巧克力”);
arrayList1.添加(“vanila”);
ArrayAdapter adp=新的ArrayAdapter(MainActivity.this,android.R.layout.simple\u微调器\u下拉菜单\u项,arrayList1);
fSpinner.setAdapter(adp);
setOnItemSelectedListener(新的OnItemSelectedListener()){
@凌驾
已选择公共视图(AdapterView arg0、视图arg1、,
整数arg2,长arg3){
//TODO自动生成的方法存根
}
@凌驾
未选择公共无效(AdapterView arg0){
//TODO自动生成的方法存根
}
});
微调器phSpinner=(微调器)findViewById(R.id.phSpinner);
ArrayList ArrayList 2=新的ArrayList();
arrayList2.添加(“9991734971”);
ArrayAdapter adp1=新的ArrayAdapter(MainActivity.this,android.R.layout.simple\u微调器\u下拉菜单\u项,arrayList2);
phSpinner.setAdapter(adp1);
setOnItemSelectedListener(新的OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView arg0、视图arg1、,
整数arg2,长arg3){
//TODO自动生成的方法存根
}
@凌驾
未选择公共无效(AdapterView arg0){
//TODO自动生成的方法存根
}
});
EditText phNumber=(EditText)findViewById(R.id.phNumber);
rdialog.setView(警报视图);
rdialog.setNeutralButton(“提交”,新的DialogInterface.OnClickListener(){
@凌驾
public void onClick(DialogInterface dialog,int which){
dialog.dismise();
}
});
AlertDialog rdialog1=rdialog.create();
rdialog1.show();

您应该更换此

 Spinner fSpinner = (Spinner)findViewById(R.id.fSpinner);
 Spinner phSpinner = (Spinner)findViewById(R.id.phSpinner);

如果
EditText
来自您的
自定义对话框布局
则也会更改

EditText phNumber = (EditText)alertView.findViewById(R.id.phNumber);

你应该把这个换掉

 Spinner fSpinner = (Spinner)findViewById(R.id.fSpinner);
 Spinner phSpinner = (Spinner)findViewById(R.id.phSpinner);

如果
EditText
来自您的
自定义对话框布局
则也会更改

EditText phNumber = (EditText)alertView.findViewById(R.id.phNumber);

@M D对于
ArrayList
@M D可以使用什么函数向
ArrayList
项添加功能,我有什么方法可以使用
switch case
。如果
单击
vanila,可能会出现一个新的
对话框open@Androidbeginner这很简单。在
phSpinner.setOnItemSelectedListener(新的OnItemSelectedListener(){…}中创建另一个
警报对话框
@md是否有任何方法可以使用
开关盒
阵列列表
@md使用什么函数可以向
阵列列表
项添加功能。如
单击
可以创建一个新的
对话框
open@Androidbeginner这很简单。在
phSpin中创建另一个
警报对话框
ner.setOnItemSelectedListener(新的OnItemSelectedListener(){…}