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。