4

a に対して定義され、メソッドFragment内で使用される layout の場合、 とsetContentView()は関係ありませんActivity。次に、Activityアクセスするために参照が必要な理由。

ListViewだから、 の中に を作成したいFragmentActivityレイアウト内またはレイアウト内で作成する必要があるよりもFragment

ねえ ニール , 私 は 質問 があります . なぜなら 私 は 毎回 間違い を 犯す から です .

TextView txt = ( TextView ) getActivity().findViewById(R.id.txt);
txt.setText("nayak nahi , khalnayak hun mein");

内部oncreateView()で問題が発生していますが、これを内部 onActivityCreated()で実装しているときはいつでも機能しています。なぜこれが起こっているのか教えてください。

4

3 に答える 3

0

のレイアウトで を定義できます。フラグメントでこのようなことを試して、代替レイアウトを定義してくださいListViewFragment

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
         Bundle savedInstanceState) {
    _baseView = inflater.inflate(R.layout.yourlayout, null); //where base view is your upper most parent in your layout
    return _baseView;
}

次に、onActivityCreatedを使用_baseView.findViewById('yourListView')して を設定できますListView。これがベストプラクティスかどうかはわかりませんが、私にとっては完璧に機能します。

于 2013-03-19T05:02:03.927 に答える