Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.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 StickyListHeaders和MergeAdapter_Android_Android Layout_Android Listview - Fatal编程技术网

Android StickyListHeaders和MergeAdapter

Android StickyListHeaders和MergeAdapter,android,android-layout,android-listview,Android,Android Layout,Android Listview,我有一个布局,我正试图建立,是由三个不同的布局合并成一个。我有两个RelativeLayouts作为前两项,还有一个列表适配器作为第三项。使用MergeAdapter的原因是,我希望整个页面滚动,但我希望整个布局中的第二个总计项(第二个相对值)保持在顶部。所以我试着用这个方法来完成它 它似乎还没有被广泛使用,尽管它的想法非常棒。无论如何,我必须在我的列表适配器中重写两个方法,在本例中,这是一个MergeAdapter。我不断得到一个NullPointerException,但它没有告诉我在我的代

我有一个布局,我正试图建立,是由三个不同的布局合并成一个。我有两个RelativeLayouts作为前两项,还有一个列表适配器作为第三项。使用MergeAdapter的原因是,我希望整个页面滚动,但我希望整个布局中的第二个总计项(第二个相对值)保持在顶部。所以我试着用这个方法来完成它

它似乎还没有被广泛使用,尽管它的想法非常棒。无论如何,我必须在我的列表适配器中重写两个方法,在本例中,这是一个MergeAdapter。我不断得到一个NullPointerException,但它没有告诉我在我的代码中发生了什么。因此,如果有人有使用该库的经验,更具体地说,使用带有MergeAdapter的库,您能告诉我我做错了什么吗?这是我的MergeAdapter的代码

private class ProfileMergeAdapter extends MergeAdapter implements StickyListHeadersAdapter{

    @Override
    public View getHeaderView(int position, View convertView, ViewGroup parent) {

        LayoutInflater nameInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = (RelativeLayout) nameInflater.inflate(R.layout.name_line, null);
        profilePhotoBottom = (ImageView) convertView.findViewById(R.id.profile_pic_bottom);
        TextView userName = (TextView) convertView.findViewById(R.id.userName);
        userName.setText(Utility.userName);
        return convertView;
    }

    @Override
    public long getHeaderId(int position) {
        return 1;
    }

}
下面是日志:

01-13 20:39:21.237: W/dalvikvm(4917): threadid=1: thread exiting with uncaught exception (group=0x40de5930)
01-13 20:39:21.245: E/AndroidRuntime(4917): FATAL EXCEPTION: main
01-13 20:39:21.245: E/AndroidRuntime(4917): java.lang.NullPointerException
01-13 20:39:21.245: E/AndroidRuntime(4917):     at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:523)
01-13 20:39:21.245: E/AndroidRuntime(4917):     at android.view.View.measure(View.java:15513)
01-13 20:39:21.245: E/AndroidRuntime(4917):     at com.emilsjolander.components.stickylistheaders.StickyListHeadersListView.measureHeader(StickyListHeadersListView.java:242)
01-13 20:39:21.245: E/AndroidRuntime(4917):     at com.emilsjolander.components.stickylistheaders.StickyListHeadersListView.scrollChanged(StickyListHeadersListView.java:284)
01-13 20:39:21.245: E/AndroidRuntime(4917):     at com.emilsjolander.components.stickylistheaders.StickyListHeadersListView.onScroll(StickyListHeadersListView.java:269)
01-13 20:39:21.245: E/AndroidRuntime(4917):     at android.widget.AbsListView.invokeOnItemScrollListener(AbsListView.java:1340)
01-13 20:39:21.245: E/AndroidRuntime(4917):     at android.widget.ListView.layoutChildren(ListView.java:1753)
01-13 20:39:21.245: E/AndroidRuntime(4917):     at android.widget.AbsListView.onLayout(AbsListView.java:1994)
01-13 20:39:21.245: E/AndroidRuntime(4917):     at android.view.View.layout(View.java:14003)
01-13 20:39:21.245: E/AndroidRuntime(4917):     at android.view.ViewGroup.layout(ViewGroup.java:4375)
01-13 20:39:21.245: E/AndroidRuntime(4917):     at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
01-13 20:39:21.245: E/AndroidRuntime(4917):     at android.view.View.layout(View.java:14003)
01-13 20:39:21.245: E/AndroidRuntime(4917):     at android.view.ViewGroup.layout(ViewGroup.java:4375)
01-13 20:39:21.245: E/AndroidRuntime(4917):     at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
01-13 20:39:21.245: E/AndroidRuntime(4917):     at android.view.View.layout(View.java:14003)
01-13 20:39:21.245: E/AndroidRuntime(4917):     at android.view.ViewGroup.layout(ViewGroup.java:4375)
01-13 20:39:21.245: E/AndroidRuntime(4917):     at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
01-13 20:39:21.245: E/AndroidRuntime(4917):     at android.view.View.layout(View.java:14003)
01-13 20:39:21.245: E/AndroidRuntime(4917):     at android.view.ViewGroup.layout(ViewGroup.java:4375)

谢谢你的回复。我算出来了。我猜我的xml中的一个列表项的布局宽度和布局高度有问题,更改它们是不起作用的。因此,我在代码中使用LayoutParams更改了项的高度和宽度。

好吧,我首先删除
MergeAdapter
,看看是否可以让其他库仅使用常规适配器工作。