[程式筆記][android]把程式加進fragment – 步驟淺說 – 貓羽的動漫日誌

[程式筆記][android]把程式加進fragment – 步驟淺說

這裡嘗試流程化加到fragment的步驟,目標是看到就能快速修改程式。
原則上只要檢查前三個步驟,用view.getActivity()就可以搞定大多數的問題

1、
以下的程式段一般用的是以下的寫法:
mRefreshLayout = (SwipeRefreshLayout)findViewById(R.id.layout_swipe_refresh);

如果像下圖在fragment放入oncreateView的時候把元件加上view.才會正常,當然也要檢查view這個變數是否正常

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view=inflater.inflate(R.layout.view01,null);
    mRefreshLayout = (SwipeRefreshLayout)view.findViewById(R.id.layout_swipe_refresh);
    recyclerView= (RecyclerView) view.findViewById(R.id.Review);



    return view;
}

2、
this -> this.getActivity()
在Fragment中直接调用getActivity()方法,可以直接得到Fragment依附的Activity,而Activity是一个Context类型的对象。
可以不加this

3、
getPackageName() -> getActivity().getPackageName()
和上者相同,原則上MainActivity上的東西都會轉為getActivity(),fragmert才能監聽得到

以下與fragment無關,是其他可能需要注意的地方,多半是參數設定相關的檢查:

修改和刪除失效例如以下的情況:
MainActivity.db.deleteNotes( contactTemp.getId() );

結論是,變數只要一個放在MainActivity:
public static ConnectionDB db;
在Fragment01之類的地方要改為以下的寫法:
MainActivity.db 

private void showNote(){
Cursor cursor
加上cursor.close();

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *