-1

アプリケーションにメニューを追加したいのですが、機能しません。メニューの項目は正しく表示されますが、そのうちの 1 つを選択しても何も起こりません。また、item2 に警告ダイアログを表示したいと考えています。助けてください。私はアンドロイドが初めてです。

前もって感謝します

私はこれを試しました

public boolean onCreateOptionsMenu(Menu menu) {
    // TODO Auto-generated method stub
    MenuInflater in=getMenuInflater();
    in.inflate(R.menu.activity_main, menu);
    return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // TODO Auto-generated method stub
    Toast.makeText(getApplicationContext(), "ok", Toast.LENGTH_SHORT).show();
    switch (item.getItemId()) {
        case R.id.item1:
            this.finish();
            break;
        case R.id.item2:
            AlertDialog.Builder bb=new AlertDialog.Builder(this);
            bb.setMessage("Are you sure to exit?").setCancelable(false);
            bb.setPositiveButton("yes", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // TODO Auto-generated method stub
                }   
            });
            bb.setNegativeButton("No", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // TODO Auto-generated method stub
                }
            }); 
            AlertDialog alrt=bb.create();
            //alrt.setTitle("Are you sure to exit?");
            alrt.show();
            break;
    }
    return super.onOptionsItemSelected(item);
}
4

1 に答える 1

-1

このアプローチを試してください:

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        menu.add(0, OK_MENU_ITEM, 0, "Ok");
        menu.add(0, SAVE_MENU_ITEM, 0, "Save");
        menu.add(0, BACK_MENU_ITEM, 0, "Back");
        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case OK_MENU_ITEM:
            //showMsg("Ok");
            break;
        case SAVE_MENU_ITEM:
            //showMsg("Save");
            break;
        case BACK_MENU_ITEM:
            //showMsg("Back");
            break;
        }
        return super.onOptionsItemSelected(item);
    }

OK_MENU_ITEM BACK_MENU_ITEM SAVE_MENU_ITEM をfinal intクラスメンバーとして定義する

于 2013-04-27T20:42:44.757 に答える