【问题标题】:Call Toast.makeText from another activity in android从android中的另一个活动调用Toast.makeText
【发布时间】:2013-09-08 10:18:49
【问题描述】:

我正在尝试创建一个选项菜单,它会向我显示菜单,但是当我单击它所做的任何事情时,它现在会向我显示 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新手,请详细解释一下..

谢谢你

【问题讨论】:

  • 所以你想在你之前的Activity中显示一个Toast,在完成这个之后?

标签: android menu option exit


【解决方案1】:

在您的第一个Activity 中,我们称它为A,您启动的Activity 称为Options_menu

startActivityForResult(Intent, int) 开头,而不是startActivity(Intent) int 是一个请求代码。这应该是final static int,我们称它为 yourRequestCodeInt 然后在A,覆盖onActivityResult() 在那里, if(requestCode == yourRequestCodeInt) 将您的数据从 Intent 中取出,这就是您必须在 Toast 中显示的信息。

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

【讨论】:

    猜你喜欢
    • 2011-10-18
    • 2011-10-20
    • 1970-01-01
    • 2011-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-13
    • 2013-08-26
    相关资源
    最近更新 更多