我正在尝试在 ListView 中制作水平滚动视图。我有 ListView 工作,但将数据放入 Horizontalscrollview(HSV) 对我来说不起作用。请指教!(我对列表视图进行了编码,经过测试,现在尝试添加一个水平滚动视图)
HSV 将适用于每个列表项。
所以基本上对于我如何处理这个问题的逻辑:我有我的 listview 适配器,我决定将 HSV 放在适配器内,以便它循环遍历每个 listItem 并在其中放置一个 HSV。
我的 Xml 看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:baselineAligned="false"
    android:layout_width="fill_parent" android:layout_height="fill_parent">
    <LinearLayout
    android:orientation="vertical"
    android:layout_width="0dip" android:layout_weight="1"
    android:layout_height="fill_parent">
        <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/txtProjectName" />
        <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/txtProjectDescription" />
        <HorizontalScrollView
            android:layout_width="wrap_content"
            android:layout_height="match_parent" >
            <LinearLayout 
                android:id="@+id/projectTasks"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal">
                <TextView 
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:id="@+id/txtProjectTasks" />
            </LinearLayout>
        </HorizontalScrollView>
    </LinearLayout>
</LinearLayout>
然后我创建了一个自定义适配器来运行所有项目。
public class ProjectListAdapter extends ArrayAdapter<Projects> {
int resource;
String response;
Context context;
ArrayList<Tasks> taskArray = null;
// Initialize adapter
public ProjectListAdapter(Context context, int resource,
        List<Projects> items) {
    super(context, resource, items);
    this.resource = resource;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    LinearLayout projectView;
    // Get the current project object
    Projects project = getItem(position);
    //
    // Inflate the view
    if (convertView == null) {
        projectView = new LinearLayout(getContext());
        String inflater = Context.LAYOUT_INFLATER_SERVICE;
        LayoutInflater vi;
        vi = (LayoutInflater) getContext().getSystemService(inflater);
        vi.inflate(resource, projectView, true);
    } else {
        projectView = (LinearLayout) convertView;
    }
    TextView PROJECT_NAME = (TextView) projectView
            .findViewById(R.id.txtProjectName);
    TextView PROJECT_DESCRIPTION = (TextView) projectView
            .findViewById(R.id.txtProjectDescription);
    PROJECT_NAME.setText(project.getNAME());
    PROJECT_DESCRIPTION.setText(project.getDESCRIPTION());
    taskArray = new ArrayList<Tasks>();
    taskArray = (ArrayList<Tasks>) project.getTasks();
    for (Tasks tasks : taskArray) {
        HorizontalScrollView TASKS = (HorizontalScrollView) projectView
                .findViewById(R.id.projectTasks);
        LinearLayout taskLayout = (LinearLayout) projectView
                .findViewById(R.id.projectTasks);
        TextView taskTxt = (TextView) projectView
                .findViewById(R.id.txtProjectTasks);
        taskTxt.setText(tasks.getTASK_ID());
        taskLayout.addView(taskTxt);
    }
    return projectView;
}
}
最后一段代码是适配器循环生成 HSV 的地方,但有些东西不能按我的意愿工作,请帮忙!