带水平滚动视图的Android ListView
我想在列表视图的每一行中实现水平滚动视图,并为每一行将多个布局附加到水平滚动视图。(动态地) i、 e每行可以附加3、4或5个布局 问题:-一切正常,主要问题是第一行填充了所有行数据,在滚动列表视图时,数据正在快速变化 为什么会这样 适配器带水平滚动视图的Android ListView,android,listview,baseadapter,Android,Listview,Baseadapter,我想在列表视图的每一行中实现水平滚动视图,并为每一行将多个布局附加到水平滚动视图。(动态地) i、 e每行可以附加3、4或5个布局 问题:-一切正常,主要问题是第一行填充了所有行数据,在滚动列表视图时,数据正在快速变化 为什么会这样 适配器 public class ListViewAdapter extends BaseAdapter { private Context context; private ArrayList<String> dataSet;
public class ListViewAdapter extends BaseAdapter {
private Context context;
private ArrayList<String> dataSet;
LayoutInflater inflater;
private View additionView;
private LinearLayout subFunctionLayout;
private TextView tv;
LinearLayout layoutHolder;
public ListViewAdapter(Context context) {
this.context = context;
inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return 40;
}
@Override
public Object getItem(int arg0) {
return arg0;
}
@Override
public long getItemId(int arg0) {
return arg0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if(convertView==null){
holder = new ViewHolder();
convertView = inflater.inflate(R.layout.row_scroll_layout, null);
layoutHolder=(LinearLayout)convertView.findViewById(R.id.layoutHolder);
for (int i = 0; i <5; i++) {
//additionView = inflater.inflate(R.layout.inner_layout_file, null);
subFunctionLayout = new LinearLayout(context);
subFunctionLayout.setOrientation(android.widget.LinearLayout.VERTICAL);
subFunctionLayout.setLayoutParams(new ViewGroup.LayoutParams(-1,-1));
// ARGB: Opaque Red
subFunctionLayout.setBackgroundColor(0x88ff0000);
tv = new TextView(context);
tv.setLayoutParams(new ViewGroup.LayoutParams(-1,-2));
tv.setText("TEXT: " + position);
// ARGB: Opaque Green
tv.setBackgroundColor(0x5500ff00);
subFunctionLayout.addView(tv);
layoutHolder.addView(subFunctionLayout);
}
convertView.setTag(holder);
}else{
holder = (ViewHolder) convertView.getTag();
}
return convertView;
}
class ViewHolder {
TextView tv_titleExample;
HorizontalScrollView hzView;
LinearLayout linear_layout,main_linear_layout;
}
}
公共类ListViewAdapter扩展了BaseAdapter{
私人语境;
私有ArrayList数据集;
充气机;
私有视图添加视图;
专用线路布局子功能布局;
私家图文电视;
线性布局布局布局设计师;
公共ListViewAdapter(上下文){
this.context=上下文;
充气器=(LayoutFlater)context.getSystemService(context.LAYOUT\u充气器\u服务);
}
@凌驾
public int getCount(){
返回40;
}
@凌驾
公共对象getItem(int arg0){
返回arg0;
}
@凌驾
公共长getItemId(int arg0){
返回arg0;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
ViewHolder=null;
if(convertView==null){
holder=新的ViewHolder();
convertView=充气机。充气(R.layout.row\u scroll\u布局,空);
layoutHolder=(LinearLayout)convertView.findViewById(R.id.layoutHolder);
对于(int i=0;i
<ListView
android:id="@+id/lvData"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" >
</ListView>
<LinearLayout
android:id="@+id/layoutHolder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
</LinearLayout>
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginRight="6.0dip"
android:src="@drawable/ic_launcher" />