AlertDialog无法正常工作

use*_*r47 1 android

伙计我有一个有主页按钮的活动,当按下按钮时,会出现一个警告对话框,显示消息"退出而不保存?" 并且用户可以使用以下选项(按钮):

1->是的

2->否

3->保存并退出

但问题是当按下主页按钮时没有显示警告对话框.

我尝试了以下代码:

//这是按下按钮的时间

public void onClick(View v) {
    // TODO Auto-generated method stub
switch (v.getId()) {

case R.id.backHome:
        final AlertDialog alertDialog = new AlertDialog.Builder(
                DataView.this).create();
        // alertDialog.setTitle("Exit Without Save ?");
        alertDialog.setMessage("Exit Without Saving");
        alertDialog.setButton("Yes", new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                // TODO Auto-generated method stub
                Intent i = new Intent(DataView.this, DiaryActivity.class);
                startActivity(i);
                finish();

            }
        });

        alertDialog.setButton2("No", new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                // TODO Auto-generated method stub
                alertDialog.dismiss();

            }
        });
        alertDialog.setButton3("Save and Exit",
                new DialogInterface.OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // TODO Auto-generated method stub
                        rowIdreceived = getdata.getLong("row_id");
                        String title_updated = topicDisplay.getText()
                                .toString() + " ";
                        String story_updated = StoryField.getText()
                                .toString();
                        DataHolder entry = new DataHolder(DataView.this);

                        try {
                            entry.open();
                        } catch (SQLException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                        entry.updateEntry(rowIdreceived, title_updated,
                                story_updated);

                        entry.close();
                        Intent i = new Intent(DataView.this,
                                DiaryActivity.class);
                        startActivity(i);
                        finish();

                    }
                });


        break;
Run Code Online (Sandbox Code Playgroud)

DiaryActivity是主要的类.

DataView是当前的活动.

"是"按钮只退出当前活动并返回主要活动,即DiaryActivity.

"否"按钮"解除"警报对话框,然后用户可以保存他的工作并稍后退出.

保存和退出按钮将工作保存到数据库中,然后退出当前活动到主活动.

Dhe*_*ngh 5

alertDialog.show(); 在代码中缺少.........你已经创建了对话框但没有显示....

alertDialog.show()刚刚突破之前.....