退出菜单无法正常工作

时间:2014-04-24 17:25:05

标签: android

我已经创建了一个菜单,并在其上放置了一个退出按钮。现在,当我点击它时,它的行为类似于后退按钮并关闭活动。菜单项显示正确但当我选择时,没有任何反应。请告诉我解决这个问题。

这里的menu / main.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:id="@+id/exit_menu"
          android:title="Exit"
          android:showAsAction="ifRoom" />

</menu>

这里是MainActivity.java

package com.testing.exitMenu;

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.*;
import android.view.*;

public class MainActivity extends Activity{

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

    }

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

    public boolean onOptionItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case R.id.exit_menu:
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setMessage("Do you want to exit ?")
                .setCancelable(false)
                .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        // TODO Auto-generated method stub
                        Intent exit = new Intent(Intent.ACTION_MAIN);
                        exit.addCategory(Intent.CATEGORY_HOME);
                        exit.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                        startActivity(exit);

                    }
                })
                .setNegativeButton("No", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        // TODO Auto-generated method stub
                        dialog.cancel();

                    }
                });
            AlertDialog alert = builder.create();
            alert.show();
            return true;
        default:
            return super.onOptionsItemSelected(item);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

如果这是您应用中唯一的活动,只需致电finish(),活动就会关闭。

退出按钮通常是Android上的反模式。用户不必退出您的应用程序,他们可以随时回家或按回去,直到他们完成您的所有活动。