Activity與Fragment之間交互——Handler


問題:現在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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM