2016-11-12 92 views
1

我想通过点击menu item通过intent到启动活动,在那里我想禁用此项目,直到活动是活动的,但应用程序崩溃,如果我试图做到这一点parceable或serializable。 这是我的代码。意图发送MenuItem或任何对象到启动活动

Intent postActivity = new Intent(BaseActivity.this, PostActivity.class); 
    postActivity.putExtra("Menu Item", (Parcelable) menuItem); 
    startActivity(postActivity); 

在被启动的活动。

MenuItem item = (MenuItem) getIntent().getParcelableExtra("Menu Item"); 
item.setEnabled(false); 

我使用了它,但没有找到解决方案。我也尝试过自己,但没有工作。 如果你们能帮助我。非常感谢。

+0

你不能在活动之间传递一个'MenuItem'。每个活动都负责其自己的操作栏/工具栏内容。 – CommonsWare

+0

@CommonsWare谢谢。启动活动扩展了激活活动。完成这项工作最简单的方法是什么?谢谢。 – Maseed

+0

“完成这项工作的最简单方法是什么?” - 什么是“这份工作”?从我所看到的,你只需简单地在调用'startActivity()'之前禁用'MenuItem'。或者,在'onStart()'回到前台时担心它。 – CommonsWare

回答

0

如果你启动的活动是扩大开展活动(如你所说)
在你发起的活动在做这个

public Menu menu; 

然后在您的onCreateOptionsMenu()

this.menu = menu; 

然后您推出的活动onCreateOptionsMenu()

MenuItem item = menu.findItem(R.id.your_item_id); 
item.setVisible(false); 
+0

我不想覆盖扩展活动中的'onCreateOptoinMenu()'方法。无论如何感谢您的回复.. – Maseed

相关问题