問題:現在activity使用viewpager,viewpager‘的元素是fragment,該activity作為startActivityForResult的結果,所以在結束時需要傳遞當前信息給前intent,其中包括當前fragment的 實例中的變量。
說明:這種方法,在activity獲得的只是一個類,但是不具備用戶交互改變fragment的變量
WillFragment fragment=(WillFragment) mAdapter.getItem(mViewPager.getCurrentItem());
解決:
Activity代碼,接收fragment傳遞message:
private Handler handler; private Intent backIntent; ............. setHandler(new Handler(new Callback() { @Override public boolean handleMessage(Message message) { // TODO Auto-generated method stub backIntent=(Intent) message.obj; return false; } }));
相應fragment代碼,向activity傳遞Message:
Message message = new Message(); message.obj = intent; WillActivity willActivity = (WillActivity) getActivity(); willActivity.getHandler().sendMessage(message);
Done