Fragmentを勉強する その3

fragment内から、findViewByIdを使う方法を調べたら、

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
 View rootView = inflater.inflate(R.layout.frag1, container,false);
 rootView.findViewById(R.id.button1).setOnClickListener(new OnClickListener() {
 @Override
 public void onClick(View v) {
 
 }
 });
 return rootView;
}

みたいな解決方法が多々見受けられたのですが、これじゃ、ライフサイクル内部でしか参照できないじゃん。という、疑問が出てしまうのですが、結局なところ、使い易くする為には、

View rootView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
 rootView = inflater.inflate(R.layout.frag1, container,false);
 return rootView;
}

とすると、rootViewがどこからでも参照可能。なので、これにしました。

で、ライフサイクルが存在してくれてるので、

@Override
public void onDestroy() {
 rootView = null;
 super.onDestroy();
}

をしておけばメモリ的にも安心かと思います。

 

  • written on 2015.07.01
  • category : fragment

前後の記事

前の記事:

次の記事:

関連の記事

コメントの投稿

  • サイト内検索

新作アプリの紹介

関連サイトの紹介

アンドロイドアプリ開発TIPS
きぐるみカメラ
ふらいぱん
アンドロイドのデザイン集
Page top↑