2016-08-14 11 views
1

私はアンドロイドアプリケーションで作業しています。アプリケーションには、ユーザーが別のアクティビティに渡すことができるカップルのボタンがあります。今、私はこのインテント間の遷移をやっている方法は、以下のようなものです:上記の内容で私は別のインテントのAndroidに渡した後、インテントが殺される

Intent intent = new Intent(this,user_area.class); 
    intent.putExtra("user",user_name.getText().toString()); 
    startActivity(intent); 

私が活動を開始し、その活動から、私はこのコードを使用してバックMainActivityに取得しています:

Intent intent = new Intent(context,MainActivity.class); 
    startActivity(intent); 

しかし、私は実際にアプリケーションが起動したときに作成されたMain Activityに戻っていないので、これが原因でメモリが過剰使用されていると思われます。私はMainActivityの別のインスタンスを作成しています。これは本当に私が思ったように、もし私が最初に作った活動に戻っていかなければならないのか、それとも私がそのようなことをすることができないのなら、どうすれば前の活動をさせることができるのでしょうか?

答えて

2

の終わりに

finish(); 

を追加したい場合はstartActivity()intentを渡すとの新しいインスタンスを作成します。そのアクティビティをスタックの前面に追加します。したがって:

Intent intent = new Intent(context,MainActivity.class); 
startActivity(intent); 

は基本的に新しいインスタンスを作成するように求めています。あなただけの現在の1の前に戻って活動に行きたい場合は、いずれかを呼び出す:

finish(); 

あるいは、

super.onBackPressed(); 
+0

それは素晴らしいです。ありがとう@シャイシャフ。 –

1

あなたのソリューションでは、戻るボタンを押すだけで、最初のアクティビティに戻ります。 あなたはそれを閉じて、2番目の活動で行っているように開いて、新しいインスタンスの後だけ

Intent intent = new Intent(this,user_area.class); 
intent.putExtra("user",user_name.getText().toString()); 
startActivity(intent); 
+0

マリアーノは高速応答に感謝します。あなたが言ったように、私はMainActivityに戻るボタンを押すだけでMainActivityに戻ることができますが、MainActivityに戻ることはしたくありません。私はボタンをクリックするアクションを取り戻したいと思います。それを達成する方法はありますか?同時に、新しい活動を生み出さない方法はありますか? –

1

をあなただけ)(仕上がりを呼び出す必要があります。方法

Intent intent = new Intent(this, DestinationActivity.class); 
startActivity(intent); 
finish(); 
関連する問題