上篇说道LIstVIew+GridView嵌套,但感觉有点卡,正好又做了个这界面,换了种新方法。次噢,找点想到还用这么麻烦?被圈子绕进去了。其实不用List,直接使用代码创建来的容易
关键代码
for(int i=0;i<badgelist.getRtuBadgeListBasicVOs().size();i++){
final RtuBadgeListBasicVO badgelist1 = badgelist.getRtuBadgeListBasicVOs().get(i);
System.out.println(badgelist1.getGroup());
TextView tv1=new TextView(mContext);
tv1.setBackgroundColor(Color.GRAY);
tv1.setPadding(10, 0, 0, 0);
tv1.setText(badgelist1.getGroup());
layout.addView(tv1,new LayoutParams(
android.widget.RelativeLayout.LayoutParams.FILL_PARENT,
android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT));
// System.out.println(badgelist1.getRtuBadgeBasicVOs().size());
BadgeGridView grid=new BadgeGridView(mContext);
grid.setNumColumns(6);
grid.setHorizontalSpacing(15);
grid.setVerticalSpacing(15);
List<String> list=new ArrayList<String>();
for(int j=0;j<badgelist1.getRtuBadgeBasicVOs().size();j++){
list.add(badgelist1.getRtuBadgeBasicVOs().get(j).getName());
System.out.println(badgelist1.getRtuBadgeBasicVOs().get(j).getAction());
}
grid.setAdapter(new BadgeAdapter(mContext, badgelist1.getRtuBadgeBasicVOs()));
grid.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View v,
int position, long arg3) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.putExtra("badge", badgelist1.getRtuBadgeBasicVOs().get(position).getAction());
setResult(RESULT_OK, intent);
finish();
}
});
layout.addView(grid,new LayoutParams(
android.widget.RelativeLayout.LayoutParams.FILL_PARENT,
android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT));
}
// mContext.finish();
}
效果差不多:
其实就是addView一个text,让人看做为List而已,外面包一个scrollView,然后重写一下grid方法而已