Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android headerView不会与listview一起滚动_Android - Fatal编程技术网

Android headerView不会与listview一起滚动

Android headerView不会与listview一起滚动,android,Android,我使用的是DragSortListView,我想要一个标题,可以随列表上下滚动。我不知道为什么标题没有与列表一起滚动。我在片段中使用listview,并添加了如下标题: public void onViewCreated(View view, final Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); DragSortListView cursListView = (Drag

我使用的是DragSortListView,我想要一个标题,可以随列表上下滚动。我不知道为什么标题没有与列表一起滚动。我在片段中使用listview,并添加了如下标题:

public void onViewCreated(View view, final Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    DragSortListView cursListView = (DragSortListView) view.findViewById(R.id.drag_list);

    LayoutInflater inflater = (LayoutInflater) Utils.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    titleLayout = inflater.inflate(R.layout.title_row, null);

    cursListView.addHeaderView(titleLayout);

    setTitle(titleName, titleValue);

    cursListView.setAdapter(cursorAdapter);}
setTitle设置标头的值,Utils.getContext返回应用程序的上下文

public void setTitle(String currency, float value) {

    ((TextView) titleLayout.findViewById(R.id.titleName)).setText(currency);
    ((EditText) titleLayout.findViewById(R.id.titleValue)).setText(String.valueOf(value));

    ((EditText) titleLayout.findViewById(R.id.titleValue)).setImeActionLabel(getString(R.string.convert), EditorInfo.IME_ACTION_DONE);
    ((EditText) titleLayout.findViewById(R.id.titleValue)).setOnEditorActionListener(convertCurrencies);

    restartLoader();
}

我想你们首先应该明白什么是页眉和页脚。页眉意味着它总是在顶部,在任何情况下都是可见的,就像页脚总是在底部并且是可见的一样。同样的概念在android的listview中用于HeaderView和FooterView

因此,实现您的目标添加一个项目作为标题,并在Adapterclass getView方法中获取它并显示它。如果只有一个标题,则在0位置,标题可用,其他位置,项目可用。它是滚动与您的列表


就这样…

为什么不创造一个标题的幻觉呢

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

<TextView
    android:id="@id/header"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

<ListView 
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

</LinearLayout>

这样,文本视图(在本例中)将始终保持在顶部,列表视图仍然可以滚动,如果我正确理解了您的问题,这是理想的结果。

如何从CursorAdapter添加标题?我是Android新手,这就是为什么我问了这么多问题,你必须使用BaseAdapter并使用BaseAdapter创建你自己的CustomAdapter。看这个:好吧,这对我来说是可行的,但是xml文件现在很难看..我很好奇为什么页眉不能正常工作..下面简要介绍一下:,第16.2章,正如Jay试图告诉你的,headerView和footerView是listview的一部分。因此,当列表中有很多项目时,页脚视图将不可见,因为您必须向下滚动列表才能看到它。当您向下滚动列表时,您将无法再看到headerView。因此,HeaderView是列表中的第一项,FooterView是列表中的最后一项,它们是列表的一部分。当列表滚动时,HeaderView和FooterView无法显示