在Dialog android中按关闭按钮时出错

时间:2015-06-05 15:33:53

标签: android dialog

当我按下其中一个菜单按钮时,我创建了对话框:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_first__window, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    switch (id)
    {
        case R.id.action_settings:
            About_us aboutus = new About_us(this);
            aboutus.show();
            return true;
        case R.id.close: System.exit(0); return true;
    }
    return super.onOptionsItemSelected(item);
}

我的对话框布局

<Button
    android:layout_marginTop="10dp"
    android:layout_width="match_parent"
    android:layout_height="40dp"
    android:text="Close"
    android:onClick="ext_btn"/>

我的对话类

public class mydialog extends Dialog
{
    public About_us(Context context) {

        super(context);
    }

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.about_us);
    }

    public void ext_btn(View view) {

        About_us.this.dismiss();
    }
}

我已经尝试了很多代码来使关闭按钮关闭对话框。 我的应用程序总是崩溃。 哪里出错了?

2 个答案:

答案 0 :(得分:1)

我只需删除我创建的方法并在onCreate方法

中创建以下内容
    Button btn_ext = (Button) findViewById(R.id.btn_ext);
    btn_ext.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            dismiss();
        }

    });

答案 1 :(得分:0)

尝试这个。

 Button btn_ext = (Button) findViewById(R.id.btn_ext);
 btn_ext.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        dismiss();
    }

});