Android 如何在片段类中绑定列表适配器

Android 如何在片段类中绑定列表适配器,android,android-fragments,android-listview,Android,Android Fragments,Android Listview,我有以下片段类: public class Home extends Fragment { public static final String TAG = Home.class.getSimpleName(); public static HomenewInstance() { return new Home(); } @Override public void onCreate(Bundle savedInstanceState)

我有以下片段类:

public class Home extends Fragment {

    public static final String TAG = Home.class.getSimpleName();

    public static HomenewInstance() {
        return new Home();
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

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

}
当我使用它时,它是工作性能。但是当我在这个类中添加下面的代码时,它会给我错误:

public class Home extends Fragment {
private List<RowItem> rowItems;

private static Integer[] images = { R.drawable.red, R.drawable.red,
        R.drawable.red, R.drawable.red, R.drawable.red, R.drawable.red,
        R.drawable.red, R.drawable.red };
    public static final String TAG = Home.class.getSimpleName();

    public static HomenewInstance() {
        return new Home();
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.Homegrag, container, false);
     ListView lv = (ListView) getActivity().findViewById(R.id.myList);
    rowItems = new ArrayList<RowItem>();

    String[] titles = { "Movie1", "Movie2", "Movie3", "Movie4", "Movie5",
            "Movie6", "Movie7", "Movie8" };
    String[] descriptions = { "First Movie", "Second movie", "Third Movie",
            "Fourth Movie", "Fifth Movie", "Sixth Movie", "Seventh Movie",
            "Eighth Movie" };
    // Populate the List
    for (int i = 0; i < titles.length; i++) {
        RowItem item = new RowItem(images[i], titles[i], descriptions[i]);
        rowItems.add(item);
    }

    // Set the adapter on the ListView
    LazyAdapter adapter = new LazyAdapter(getActivity()
            .getApplicationContext(), R.layout.list_row, rowItems);
    lv.setAdapter(adapter);

    lv.setOnItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub

        }
    });
        return v;
    }

}

我该怎么做?我想用lazyadapter绑定列表。

试试下面的代码,如果有帮助,请告诉我

  LazyAdapter adapter = new LazyAdapter(getActivity(),R.layout.list_row, rowItems);
  lv.setAdapter(adapter);
还要确保lv不是空的,以防万一

并使用下面的代码

@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
     lv = (ListView) view.findViewById(R.id. myList);
     lv.setAdapter(adapter);
}
改变这个

ListView lv = (ListView) getActivity().findViewById(R.id.myList);


getActivity()
表示
片段的当前上下文,而返回的视图表示作为初始化
视图的参考。

您还可以发布日志猫,以了解错误是什么吗?添加了日志猫。请看
ListView lv = (ListView) getActivity().findViewById(R.id.myList);
ListView lv = (ListView) v.findViewById(R.id.myList);