在Android中创建公共意图

时间:2011-01-30 17:13:17

标签: android android-intent android-menu

所以我试图在一个包含单个项目的应用程序中创建一个菜单。单击此菜单项将转到另一个活动。所以基本上我开始点击该菜单项的子活动。

问题在于我必须在我的主要活动的onCreate()方法中指定我的意图,但我需要在onOptionItemSelected()方法中使用onCreate()方法之外的意图。我该怎么做呢? 我的onCreate()方法:

public void onCreate(Bundle savedInstanceState) { 
   Intent myIntent=new Intent(mainActivity.this,secondActivityt.class);
} 

我的onOptionsItemSelected()方法:

public boolean onOptionsItemSelected(MenuItem item){
   if(item.getItemId()==R.id.aboutbtn){
      startActivity(myIntent);
}

所以我在这里无法访问myIntent。无论如何我可以在onCreate方法之外声明意图并仍然使程序工作,或者无论如何我可以在onCreate方法之外访问意图吗?

1 个答案:

答案 0 :(得分:4)

应该非常简单,只需声明一个私有类变量并将您的意图存储在

public class MyActivity extends Activity{
   private Intent myIntent;

   public void onCreate(...){
      ...
      myIntent = new Intent(...);
   }


   public boolean onOptionsItemSelected(MenuItem item){
      ...
      //use the myIntent here
   }

}

我现在没有尝试过,但我认为没有任何理由不这样做,除非我不清楚你的问题:)

正如旁注。您可能还应该查看Activity生命周期,基本上是哪个事件(onCreate,onResume,onStart,onDestroy,...)被触发。摘自Android Developers的下图最佳描述: enter image description here