Android Fragmentの標準表記
Fragmentについては諸説あるが、いいと言う人もいれば、悪いと言う人もいる.ここでは議論しないで、Fragmentの標準的な書き方に重点を置いて、工場の方法を使ってFragmentを生成することから、どのようにコールバックインタフェースを書くか、どこでコールバックインタフェースを実現するか、どこでコールバックインタフェースを抹消するかを紹介します.
標準表記
注意点 newInstanceファクトリメソッドを使用してFragmentのインスタンス を生成することを推奨する. ActivityとFragmentの直接的な相互接続はコールバックインタフェースを使用して を完了する. onAttachでインタフェースを傍受し、onDetachでインタフェース をログアウトする
以上のコードはAndroid Studio自動生成の詳細については、「」を参照してください.http://developer.android.com/training/basics/fragments/communicating.html”
標準表記
**
* Fragment
* Master_Fragment Activity Master_Fragment.OnFragmentInteractionListener
* Fragment Activity
* Master_Fragment#newInstance
* Master_Fragment .
*/
public class Master_Fragment extends Fragment {
//
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
//
private String mParam1;
private String mParam2;
private OnFragmentInteractionListener mListener;
/** * Fragment * Fragment * * @param param1 1. * @param param2 2. * @return Master_Fragment . */
public static Master_Fragment newInstance(String param1, String param2) {
Master_Fragment fragment = new Master_Fragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
public Master_Fragment() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_master_, container, false);
}
// TODO: Rename method, update argument and hook method into UI event
public void onButtonPressed(Uri uri) {
if (mListener != null) {
mListener.onFragmentInteraction(uri);
}
}
/** *onAttach Activity */
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
mListener = (OnFragmentInteractionListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString()
+ " must implement OnFragmentInteractionListener");
}
}
/** * onDetach */
@Override
public void onDetach() {
super.onDetach();
mListener = null;
}
/** * Master_Fragment Activity * Fragment Activity * * "http://developer.android.com/training/basics/fragments/communicating.html" * >Communicating with Other Fragments</a> . */
public interface OnFragmentInteractionListener {
//
public void onFragmentInteraction(Uri uri);
}
}
注意点
以上のコードはAndroid Studio自動生成の詳細については、「」を参照してください.http://developer.android.com/training/basics/fragments/communicating.html”