Activityは別のActivityのFragmentに値を伝えます
1220 ワード
最近のプロジェクトでは、トップページの1つのFragmentから別のActivityにジャンプして値を取り、その値をこのFragmentに持ち帰るというニーズがあります.ネット上で多くの資料を調べたところ、多くの脆弱性が発見されました.使用場所が少ないので、EventBusを考慮していませんでした.その後、ブロガーは試みを通じて、このニーズを実現することに成功しました.実は簡単です.本文は以下の通りです.
1.まずFragmentで別のActivityの論理に移行することは、一般的にgetActivity()であるため、このステップも重要である.startActivityForResult(new Intent(getActivity(),CalendarActivity.class),1);これにより最終結果が受信できなくなるため、Fragment自身のジャンプメソッドstartActivity ForResult(new Intent(getActivity()CalendarActivity.)を呼び出す必要がある.class),1);
2.他のActivityで返送するデータをパッケージする
3.このFragmentで書き換える方法
4.複数のFragmentの値を取らないため、ブロガーはcodeで判断することなく、ActivityからFragmentへのデータ伝達を容易に実現できる
1.まずFragmentで別のActivityの論理に移行することは、一般的にgetActivity()であるため、このステップも重要である.startActivityForResult(new Intent(getActivity(),CalendarActivity.class),1);これにより最終結果が受信できなくなるため、Fragment自身のジャンプメソッドstartActivity ForResult(new Intent(getActivity()CalendarActivity.)を呼び出す必要がある.class),1);
2.他のActivityで返送するデータをパッケージする
Intent intent = new Intent(CalendarActivity.this,MainActivity_.class);
Bundle bundle = new Bundle();
bundle.putString("date", mTextMonthDay.getText().toString());
intent.putExtras(bundle);
setResult(1,intent);
finish();
3.このFragmentで書き換える方法
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
Bundle bundle = data.getExtras();
String namString = bundle.getString("date");
}
4.複数のFragmentの値を取らないため、ブロガーはcodeで判断することなく、ActivityからFragmentへのデータ伝達を容易に実現できる