android中垂直listview中的水平listview
Lazyadapter for listview(垂直)在这里,我要做的是在水平listview上设置Lazyadapter&HLV是在这个Lazyadapter的自定义布局中声明的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
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无法滚动。