0

我正在尝试创建一个选项菜单,它会向我显示菜单,但是当我单击它所做的任何事情时,它现在会向我显示 Toast.makeText 文本,我的代码在下面。但是当我将代码放在同一个活动中时,它会向我显示文本。

    package com.officextracts.kaspersky;

    import android.os.Bundle;
    import android.app.Activity;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.widget.Toast;

    public class Option_menu extends Activity {

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

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

            switch (item.getItemId())
            {
            case R.id.menu_home:
                // Single menu item is selected do something
                // Ex: launching new activity/screen or show alert message
                Toast.makeText(this, "Home Is selected", Toast.LENGTH_SHORT).show();
                return true;

            case R.id.menu_krp:
                Toast.makeText(this, "Kaspersky Retail Products", Toast.LENGTH_SHORT).show();
                return true;

            case R.id.menu_kep:
                Toast.makeText(this, "Kaspersky Endpoint Products", Toast.LENGTH_SHORT).show();
                return true;

            case R.id.menu_fkr:
                Toast.makeText(this, "Find Kaspersky Resaller", Toast.LENGTH_SHORT).show();
                return true;

            case R.id.menu_sales:
                Toast.makeText(this, "Contact Kaspersky Sales", Toast.LENGTH_SHORT).show();
                return true;

            case R.id.menu_crs:
                Toast.makeText(this, "Contact Retail Support", Toast.LENGTH_SHORT).show();
                return true;

            case R.id.menu_ces:
                Toast.makeText(this, "Contact Enterprise Support", Toast.LENGTH_SHORT).show();
                return true; 

            case R.id.menu_coo:
                Toast.makeText(this, "Contact Our Office", Toast.LENGTH_SHORT).show();
                return true;


            case R.id.menu_sms:
                Toast.makeText(this, "SMS for Support", Toast.LENGTH_SHORT).show();
                return true;


            case R.id.menu_email:
                Toast.makeText(this, "Email Support", Toast.LENGTH_SHORT).show();
                return true;            

            case R.id.menu_exit:
                finish();
                System.exit(0);                

            default:
                return super.onOptionsItemSelected(item);
            }
        }    
    }

现在怎么做呢,你可以看到菜单底部有一个退出按钮,当我从其他活动调用它但从相同的活动它工作时它现在工作。

我是android新手,请详细解释一下..

感谢您

4

1 回答 1

0

在你的第一个Activity,让我们调用它A,你开始Activity调用它Options_menu

开始它startActivityForResult(Intent, int)而不是startActivity(Intent) The intis a requestCode。这应该是 a final static int,我们称它为 yourRequestCodeInt 然后 in A,在那里覆盖onActivityResult() , if(requestCode == yourRequestCodeInt) 从 Intent 中获取数据,这就是您必须在 Toast 中显示的消息。

activity在 Options_menu 中,在完成和 seResult(Result.OK) 或类似的事情之前将要显示的字符串放入意图中

于 2013-09-08T10:30:11.657 回答