0

プログラムでビューを保持する Fragment を作成するときは、常に Fragment クラスを拡張し、OnCreateView メソッドをオーバーライドする必要があります。これを行う別の簡単な方法はありますか(フラグメントを作成してビューIDなどを渡すなど)。

ありがとう

4

1 に答える 1

0

確かに、フラグメントを拡張した分離クラスを作成する必要があります。ただし、引数として viewId を渡すことはできます。必要に応じてフラグメントを再インスタンス化できるようにする必要があります。私は次のようにします:

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class ViewFragment extends Fragment {

    public static final ViewFragment newInstance(int contentId) {
        Bundle args = new Bundle();
        args.putInt("contentId", contentId);
        ViewFragment fragment = new ViewFragment();
        fragment.setArguments(args);
        return fragment;
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        Bundle args = getArguments();
        int contentId = args.getInt("contentId");
        return inflater.inflate(contentId, container, false);
    }
}
于 2012-09-13T18:40:38.910 に答える