java.lang.NoSuchMethodError:android.app.Dialog.create

时间:2015-09-15 10:49:57

标签: java android dialog

我创建了自定义Dialog布局。当用户按下按钮时,将显示对话框。 Android版棒棒糖完美地向我展示了对话框,但是如果版本低于棒棒糖,则会引发错误。

这是我的代码:

<a href="Rentacar.html">Rent A Car</a>

这是我的自定义对话框布局:

public class MainActivity extends AppCompatActivity {

    private Button click;
    private Dialog dialog;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        click=(Button)findViewById(R.id.click);

        click.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(v.equals(click))
                {
                    dialog=new Dialog(MainActivity.this);
                    dialog.setContentView(R.layout.check_in_weight_dialog);
                    dialog.create();
                    dialog.show();
                }
            }
        });
    }

2 个答案:

答案 0 :(得分:2)

dialog.create();

这仅适用于lolipop。删除此行

答案 1 :(得分:0)

尝试这种方式,它工作正常(Lolipop)

custom_dialog = new Dialog(this,android.R.style.Theme_Holo_Light_Dialog_MinWidth);
custom_dialog.getWindow().setBackgroundDrawable(new ColorDrawable((0xff000000)));
custom_dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
custom_dialog.setCancelable(false);
custom_dialog.setContentView(R.layout.check_in_weight_dialog);
custom_dialog.getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, Color.parseColor("#FFFFFF"));
custom_dialog.show();

或删除dialog.create();

dialog=new Dialog(MainActivity.this);
                  dialog.setContentView(R.layout.check_in_weight_dialog);
                  dialog.show();