BaseAdapter中的Android getView()未调用(但调用了getCount())

BaseAdapter中的Android getView()未调用(但调用了getCount()),android,Android,我正在实现一个BaseAdapter,但是它的getView()方法没有被调用。以下是我的简单适配器: public class Adapter extends BaseAdapter { Context context; public Adapter(Context context) { this.context = context; } @Override public int getCount() { Log.d(

我正在实现一个BaseAdapter,但是它的getView()方法没有被调用。以下是我的简单适配器:

public class Adapter extends BaseAdapter {
    Context context;

    public Adapter(Context context) {
        this.context = context;
    }

    @Override
    public int getCount() {
        Log.d("log", "getcount");
        return 2;
    }

    @Override
    public Object getItem(int i) { return i; }

    @Override
    public long getItemId(int i) { return i; }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        Log.d("log", "getview");

        if (view == null) {
            view = LayoutInflater.from(context).inflate(R.layout.item_menu, null);
        }

        TextView textView = (TextView) view.findViewById(R.id.tv);
        textView.setText("test");

        return view;
    }
}
public class MenuFragment extends Fragment {
    ListView mListView;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_menu, container, false);
        mListView = (ListView) view.findViewById(R.id.lv);
        mListView.setAdapter(new Adapter(this.getActivity()));

        return inflater.inflate(R.layout.fragment_menu, container, false);
    }
}
下面是我如何设置适配器的:

public class Adapter extends BaseAdapter {
    Context context;

    public Adapter(Context context) {
        this.context = context;
    }

    @Override
    public int getCount() {
        Log.d("log", "getcount");
        return 2;
    }

    @Override
    public Object getItem(int i) { return i; }

    @Override
    public long getItemId(int i) { return i; }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        Log.d("log", "getview");

        if (view == null) {
            view = LayoutInflater.from(context).inflate(R.layout.item_menu, null);
        }

        TextView textView = (TextView) view.findViewById(R.id.tv);
        textView.setText("test");

        return view;
    }
}
public class MenuFragment extends Fragment {
    ListView mListView;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_menu, container, false);
        mListView = (ListView) view.findViewById(R.id.lv);
        mListView.setAdapter(new Adapter(this.getActivity()));

        return inflater.inflate(R.layout.fragment_menu, container, false);
    }
}

在日志中,我可以看到
getcount
,但不能看到
getview
,这意味着它从未被调用过。我可以在屏幕上看到ListView(它的背景色是红色的,所以它肯定没有隐藏)。我做错了什么

请返回视图,而不是再次膨胀布局

替换

return inflater.inflate(R.layout.fragment_menu, container, false);


请返回视图,而不是再次膨胀布局

替换

return inflater.inflate(R.layout.fragment_menu, container, false);


!!!!! 我需要一些睡眠。非常感谢。我已经调试了10个小时了…fml@0xSina它解决了你的问题吗?@SyedWaqas这不会加快列表视图的滚动速度。建议OP使用ViewHolder模式。。。!!!!!我需要一些睡眠。非常感谢。我已经调试了10个小时了…fml@0xSina它解决了你的问题吗?@SyedWaqas这不会加快列表视图的滚动速度。建议OP使用ViewHolder模式。。。