2017-11-03 4 views
1

私は活動を開始するための情報を意図して送ります。今、onCreateメソッドの情報を取得する代わりに、その瞬間にそれを取得できますか?たとえば、新しいアクティビティのボタンをクリックすると、最初の活動は、シングルトンとして行われた場合私は何の瞬間からインテントから情報を得ることができますか?

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

答えて

1

はい、私はあなたがそれをこのように書くとすることができると思います。

また、別のシングルトンクラスを作成して、そのデータを保持することもできます。

+0

同じケースを使用します。今回は新しいアクティビティを開始しますが、ボタンを押さないでください。私は、アプリケーションを閉じてからもう一度開き、ボタンを押してください。それは動作しますか?言い換えれば、インテントに関する情報が消えてしまったら? –

+0

私はそれがすべきだと思います。私はテストしなかった。 そうでなければ、この時点でonStop()メソッドをオーバーライドして変数に保存できます。 (onStop()はAndroidライフサイクルメソッドです。これは、アクティビティを最小限に抑えるか、別のアクティビティに移動するときに実行されます) –

-1

その後、あなただけのアクティビティのインスタンスからテントデータを取得することができます。

1

getIntent().getExtras()は、現在のアクティビティのデータを生成します。

このデータを新しいアクティビティに渡す場合は、それらを読み込んで新しいインテントに書き込む必要があります。

0

ルチアーノ、 私は他の人から新しい活動に行きたいと思っています。

この例では、あなたが「HomeActivity.java」というActivityにいて、「SearchActivity.java」に行きたいと思っています。

あなたが好む場合のTextViewのクリック可能なまたはボタンを作成するための実際の活動「activity_home.xml」のように私のために呼ばれ、XMLでこの行を記述することができます。

<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); 
     } 
    }); 
関連する問題