0

最初のページにはスピナーがあり、2 番目のアクティビティの値を解析します。2 番目のページで onBackPressed を設定してホームページに戻りましたが、問題は、スピナーの選択がリセットされないことです..なぜですか?

4

3 に答える 3

0

アプリケーションのonStartメソッドでAdapterを設定するか、onStart()メソッドでnotifyDataSetChanged()メソッドを呼び出します。

于 2012-10-12T11:56:47.547 に答える
0

アクティビティBからアクティビティAに戻ると、アクティビティAのonRestartメソッドが呼び出されます。
そのメソッドをオーバーライドして、そこでスピナーをクリアすることができます。

@Override
public void onRestart()
{
   //clear your spinner here... spinner.setSelection(0) or something..
   super.onResume();
}

説明は次のとおりです。

onRestart:アクティビティが停止した後、再開する前に呼び出されます。常にonStart()が続きます

于 2012-10-12T11:57:56.633 に答える
0

これを試して

1stActivity を更新します

@Override
public void onResume()
{
    super.onResume();
    startActivity(getIntent());
}

編集

説明

ここでAndroidのライフサイクルを見ることができます

最初のアクティビティから 2 番目のアクティビティOnPause()メソッドへの移行が呼び出されたとき。onResume()2 番目のアクティビティメソッドから最初のアクティビティに戻るときも同じです。

スピナーをリセットするには 2 つの方法があります

最初の1つ

この方法で最初のアクティビティを再開するように求めたように

startActivity(getIntent()); // It refresh your activity

の詳細startActivity(getIntent())

Intent refresh = new Intent(FirstActivity.this,FirstActivity.class)
startActivity(refresh);

第二の道

 Spinner yourSpinner = (Spinner)findViewById(R.id.yourSpinnerId);
 yourSpinner.setSelection(0);// Which reset Spinner to default

それが役に立てば幸い

于 2012-10-12T11:35:20.273 に答える