简体   繁体   English

包含在SlidingMenu中的Viewviewr的Listview -Android

[英]Listview Containing Viewpager inside SlidingMenu -Android

In my project,listview contains viewpager for loading images.Actually this listview is loaded in a fragment which uses sliding menu . 在我的项目中,listview包含用于加载图像的viewpager。实际上,此listview被加载为使用滑动菜单的片段。

Here the problem is layout is neither loading nor showing any errors. 这里的问题是布局既没有加载也没有显示任何错误。

I used pagecontainer like this s://gist.github.com/devunwired/8cbe094bb7a783e37ad1 我使用了像这样的pagecontainer s://gist.github.com/devunwired/8cbe094bb7a783e37ad1

My Adapter class 我的适配器类

 public class SampleAdapter extends BaseAdapter {

private Activity activity;
private String[] titleData;
private int[] imageData;
private ArrayList<Request> List;
PagerContainer mContainer;
MyPagerAdapter adapter;

public SampleAdapter(Activity a, ArrayList<Request> list) {
    activity = a;
    List = new ArrayList<Request>();
    List = list;


}

@Override
public int getCount() {
    return List.size();
}

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

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

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    LayoutInflater inflater = (LayoutInflater) activity.getSystemService(
                    Context.LAYOUT_INFLATER_SERVICE);
    View rowView = inflater.inflate(R.layout.cus_hub_list, parent, false);

    mContainer = (PagerContainer) rowView.findViewById(R.id.pager_container);

    ViewPager pager = mContainer.getViewPager();


    adapter = new MyPagerAdapter();


    pager.setAdapter(adapter);


    pager.setOffscreenPageLimit(adapter.getCount());
    pager.setPageMargin(15);
    pager.setClipChildren(false);

    return rowView;
}

public  class MyPagerAdapter extends PagerAdapter {

    @Override
    public Object instantiateItem(ViewGroup container, int position) 
    {
        TextView view = new TextView(activity);
        view.setText("Item " + position);
        view.setGravity(Gravity.CENTER);
        view.setBackgroundColor(Color.argb(255, position * 50,
                position * 10, position * 50));

        container.addView(view);
        return view;
    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView((View) object);
    }

    @Override
    public int getCount() {
        return 5;
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return (view == object);
    }

    @Override
    public int getItemPosition(Object object) {
           return POSITION_NONE;
        }
}

} }

But the problem is listview not showing any list items . 但是问题是listview没有显示任何列表项。

Can anybody figure out the problem. 任何人都可以找出问题所在。

Thanks in Advance. 提前致谢。

Your SampleAdapter , while having the list of items it manages, never does anything with them in the getView method. 您的SampleAdapter拥有要管理的项目列表,但在getView方法中从不对其进行任何操作。 It is to be expected that nothing is showing up! 可以预期什么都不会出现!

I would suggest you use a ViewHolder as explained in this question to populate all the items you want to show and then visualise them using the convertView parameter of the getView method. 我建议您使用此问题中说明的ViewHolder来填充要显示的所有项目,然后使用getView方法的convertView参数将它们可视化。

Please consider this tutorial for an introduction on the Holder Pattern and how to set the contents of a List for your View . 请考虑本教程 ,以获取有关Holder Pattern以及如何为View设置List内容的介绍。

在您的寻呼机中,而不是wrap_content中,以dp指定一个高度。该高度可以根据屏幕大小进行调整

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM