android中垂直listview中的水平listview

android中垂直listview中的水平listview,android,listview,horizontallistview,Android,Listview,Horizontallistview,Lazyadapter for listview(垂直)在这里,我要做的是在水平listview上设置Lazyadapter&HLV是在这个Lazyadapter的自定义布局中声明的 class lazyadapter extends BaseAdapter { Context context; LayoutInflater inflater; ArrayList<HashMap<String, String>> data; publi

Lazyadapter for listview(垂直)在这里,我要做的是在水平listview上设置Lazyadapter&HLV是在这个Lazyadapter的自定义布局中声明的

class lazyadapter extends BaseAdapter {
    Context context;

    LayoutInflater inflater;
    ArrayList<HashMap<String, String>> data;

    public lazyadapter(Context context,
            ArrayList<HashMap<String, String>> arraylist) {
        this.context = context;
        data = arraylist;
    }

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

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

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

    @Override
    public View getView(final int position, View convertView,
            ViewGroup parent) {
        LayoutInflater inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View itemView = inflater
                .inflate(R.layout.horizontal, parent, false);

        HashMap<String, String> mapss;

        mapss = new HashMap<String, String>();

        String dataq = data.get(position).get("subcatname");
        String catname = data.get(position).get("catname");
        String image = data.get(position).get("image");
        String id = data.get(position).get("id");
        mapss.put("dataq", dataq);
        mapss.put("image", image);
        mapss.put("catname", catname);
        mapss.put("id", id);
        TextView uu = (TextView) itemView.findViewById(R.id.textView1);
        hlvSimpleList1 = (HorizontalListView) itemView
                .findViewById(R.id.hlvSimpleList1);

        uu.setText(data.get(position).get("catname"));
        String tttt = data.get(position).get("cc");

        if (tttt.equals("1")) {
            uu.setVisibility(0);
            ap = new ArrayList<HashMap<String, String>>();

        } else {
            uu.setVisibility(8);

            hlvSimpleList1.setVisibility(8);

        }
        ap.add(mapss);
        lazyadapter4 adpp = new lazyadapter4(getApplicationContext(), ap);
        adpp.notifyDataSetChanged();
        hlvSimpleList1.setAdapter(adpp);

        return itemView;

    }
}
class lazyadapter扩展了BaseAdapter{
语境;
充气机;
阵列列表数据;
公共lazyadapter(上下文,
ArrayList(ArrayList){
this.context=上下文;
数据=数组列表;
}
@凌驾
public int getCount(){
返回data.size();
}
@凌驾
公共对象getItem(int位置){
返回位置;
}
@凌驾
公共长getItemId(int位置){
返回位置;
}
@凌驾
公共视图getView(最终整型位置,视图转换视图,
视图组(父级){
LayoutFlater充气器=(LayoutFlater)上下文
.getSystemService(上下文布局\充气机\服务);
视图项视图=充气机
.充气(右布局、水平、父级、假);
HashMap-mapss;
mapss=新的HashMap();
字符串dataq=data.get(position.get(“subcatname”);
字符串catname=data.get(位置).get(“catname”);
字符串image=data.get(位置).get(“image”);
字符串id=data.get(位置).get(“id”);
mapss.put(“dataq”,dataq);
mapss.put(“图像”,图像);
mapss.put(“catname”,catname);
mapss.put(“id”,id);
TextView uu=(TextView)itemView.findViewById(R.id.textView1);
hlvSimpleList1=(水平列表视图)项目视图
.findviewbyd(R.id.hlvSimpleList1);
uu.setText(data.get(position.get)(“catname”);
字符串tttt=data.get(position.get(“cc”);
如果(tttt等于(“1”)){
uu.setVisibility(0);
ap=新的ArrayList();
}否则{
uu.setVisibility(8);
hlvSimpleList1.setVisibility(8);
}
ap.add(mapss);
lazyadapter4 adpp=新的lazyadapter4(getApplicationContext(),ap);
adpp.notifyDataSetChanged();
hlvSimpleList1.setAdapter(adpp);
返回项目视图;
}
}

提前感谢..请帮我摆脱这个..

在listview的Row.xml中(您将在适配器的getView(..)函数中膨胀),使用HorizontalScrollView作为父元素。

从何处摆脱您的问题尚不清楚谢谢回复。我想在listview中使用水平listview我这样做了,但在水平listview中它只显示一个项目,无法滚动水平listview。您解决了问题吗??如果是,请让我知道。是的,使用row.xml文件中的水平列表视图。我没有使用水平滚动,我使用的是水平列表视图:(如果你想要水平和垂直滚动,请使用普通的ListView标签,在行中使用HorizontalScrollViewyeah dude我这样使用,但在行中它只显示一个项目。我想你必须重新审视ListView适配器的工作原理:每一行组成一个ListView。每一行都可以水平滚动,整个ListView垂直方向是我知道的,但我的问题是em表示水平listview无法滚动。