-1

Gingerbread の Activity に ListFragment を追加しようとしていますが、Activity の作成時に Android がクラッシュし、スタック トレースがありません。互換性ライブラリのインポートを使用していることを確認しました。ListFragment のコードは次のとおりです。

import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.*;

public class ListViewFragment extends ListFragment {
  @Override
  public void onActivityCreated(Bundle savedInstanceState) {
    List listData = getListData().

    setListAdapter(new ListViewAdapter(getActivity(), listData));
  }

  class ListViewAdapter extends BaseAdapter implements ListAdapter {
    .
    .
    .
  }    
}

私も試しました:

ListView listView = getListView();
listView.setAdapter(new ListViewAdapter(getActivity(), listData);

setListAdapter() 呼び出しの代わりに、同じ結果が得られます。

Fragment から拡張し、ListView を使用してレイアウト ファイルを拡張すると、正常に動作します。ListFragmentで固有のListViewを使用しようとすると、何か違うようです。

どんな洞察も大歓迎です。

4

2 に答える 2

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

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
        // Set up your list in here
}
于 2012-05-11T16:28:46.870 に答える