Frament填坑

fragment 調用getActivity.startActivityForResult, 會只調用到activity的onActivityResult,若是是調用fragment的startActivityForResult,就會先調用fragment的onActivityResult,接收到的request code是fragment調用startActivityForResult的request code, 而後activity的onActivityResult也會被調用,可是request code就不一樣了。因此要注意對應關係。docker

 

Fragment MyFragment not attached to Activity錯誤:在fragment有線程在跑,結束後更新界面時有獲取resource的語句,若是此時fragment不在顯示,會報此錯。app

解決:ide

@Override.net

protected void onPostExecute(Void result){線程

    if(isAdded()){code

        getResources().getString(R.string.app_name);get

    }string

}it

 

2017/4/7   遇到以下問題class

今天在寫一個viewpager+fragment實現左右切換時出現這個問題,緣由就是在Fragment中

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View view=inflater.inflate(R.layout.fragment_demo, container);
return view;
}

inflate裏面把ViewGroup傳進去了,由於每個View只能有一個父view即parentView。當Container不爲空時,好比此fragment所待在的activity的layout。而onCreateView中返回的view是給ViewPager使用的,因此就會出現這個view有兩個parentView-即activity的layout和viewPager,因此會報出異常。只要以下解決便可:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View view=inflater.inflate(R.layout.fragment_demo, null);
return view;
}

infalte的時候把ViewGroup參數設置爲null,view的parentView是ViewPager,ViewPager的parentView是activity的layout。

相關文章
相關標籤/搜索