什么时候可以从意图获取信息?

问题描述:

我发送一个信息意图来启动一项活动。现在,不是在onCreate方法中检索信息,而是可以在那一刻之后检索它?例如,当我点击新活动中的按钮时?什么时候可以从意图获取信息?

是的,我觉得你可以,如果你这样写:

YourActivity.this.getIntent().getExtras(); 
+0

使用相同的大小写。这一次我开始新的活动,但我不按下按钮。我关闭了应用程序,然后再次打开并按下按钮。它工作吗?换句话说,当意图信息消失时? –

+0

我认为应该。我没有测试。 如果不是,您可以覆盖onStop()方法,并在此时将其保存到变量中。 (onStop()是一种Android生命周期方法,当您最小化活动性或转到其他活动时会执行该方法) –

如果第一个活动是由作为单身,那么你可以得到的唯一活动的实例的意向数据。

或者你可以创建另一个单例类来为你保存这些数据。

getIntent().getExtras()会生成当前活动中的数据。

如果您想将这些数据传递给新的活动,您必须阅读并写入新的Intent。

Luciano, 我假设你想从其他的新活动。

在这个例子中,我假设你在名为“HomeActivity.java”的活动中,并且你想转到“SearchActivity.java”。

,如果你愿意的话,可以写在XML此行,叫我像“activity_home.xml”其实活动创建一个TextView点击或按钮:

<TextView 
     android:id="@+id/searchXml" 
     style="@style/NavigationStyle" 
     android:drawableTop="@drawable/ic_search_black_24dp" 
     android:text="@string/screen_search" /> 

,并使用“setOnClickListener”里面的方法onCreate,在创建的TextView中设置:

 // Go to Search screen 
    TextView syncSearch = (TextView) findViewById(R.id.searchXml); 
    syncSearch.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View view) { 

      Intent goToSearchIntent = new Intent(HomeActivity.this, SearchActivity.class); 
      startActivity(goToSearchIntent); 
     } 
    });