cari

Rumah  >  Soal Jawab  >  teks badan

android - listview.addHeaderView()添加标题头出错

我在写一个布局时,在listview中添加一个标题头时出错
以下是我的代码

1

2

3

4

5

6

7

8

9

10

11

12

13

<code>public Newspager(Context context,String url) {

        mInflate = View.inflate(context, R.layout.news_pager, null);

        ListView newspagerlv = (ListView) mInflate.findViewById(R.id.news_pager_lv);

 

 

        View header = View.inflate(context, R.layout.header, null);

 

        mAuto_roll = (AutoRolllayout) header.findViewById(R.id.auto_roll_out);

        //添加头到listview

        newspagerlv.addHeaderView(mAuto_roll);

 

        newspagerlv.setAdapter(mBaseAdapter);

        }</code>

layout.news_pager布局很简单,就是一个线性布局包裹一个listview

1

2

3

4

5

6

7

8

9

10

11

<code><?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

              android:orientation="vertical"

              android:layout_width="match_parent"

              android:layout_height="match_parent">

    <ListView

        android:id="@+id/news_pager_lv"

        android:layout_width="match_parent"

        android:layout_height="match_parent">

    </ListView>

</LinearLayout></code>

R.layout.header作为头添加到listview中,以下是代码,里面的自定义控件是没有什么问题的

1

2

3

4

5

6

7

8

9

10

11

<code><?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

              android:orientation="vertical"

              android:layout_width="match_parent"

              android:layout_height="wrap_content">

    <helloas.siinax.com.lib_autorollayout.widget.AutoRolllayout

        android:layout_width="match_parent"

        android:layout_height="160dp"

        android:id="@+id/auto_roll_out"

        />

</LinearLayout></code>

现在就是将这个自定义控件作为头添加到listview中,就出错了,也就是
newspagerlv.addHeaderView(mAuto_roll);
往listview中添加头时出错
哪位神帮忙解决一下!

打印的logcat

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

<code> FATAL EXCEPTION: main

11-12 14:00:45.116 2958-2958/? E/AndroidRuntime: java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams

11-12 14:00:45.116 2958-2958/? E/AndroidRuntime:     at android.widget.ListView.clearRecycledState(ListView.java:515)

11-12 14:00:45.116 2958-2958/? E/AndroidRuntime:     at android.widget.ListView.resetList(ListView.java:501)

11-12 14:00:45.116 2958-2958/? E/AndroidRuntime:     at android.widget.ListView.setAdapter(ListView.java:444)

11-12 14:00:45.116 2958-2958/? E/AndroidRuntime:     at helloas.siinax.com.itcastnews.fragment.Newspager.<init>(Newspager.java:61)

11-12 14:00:45.116 2958-2958/? E/AndroidRuntime:     at helloas.siinax.com.itcastnews.fragment.Newsfragment$2.instantiateItem(Newsfragment.java:156)

11-12 14:00:45.116 2958-2958/? E/AndroidRuntime:     at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:870)

11-12 14:00:45.116 2958-2958/? E/AndroidRuntime:     at android.support.v4.view.ViewPager.populate(ViewPager.java:1020)

11-12 14:00:45.116 2958-2958/? E/AndroidRuntime:     at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:552)

11-12 14:00:45.116 2958-2958/? E/AndroidRuntime:     at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:514)

11-12 14:00:45.116 2958-2958/? E/AndroidRuntime:     at android.support.v4.view.ViewPager.dataSetChanged(ViewPager.java:946)

11-12 14:00:45.116 2958-2958/? E/AndroidRuntime:     at android.support.v4.view.ViewPager$PagerObserver.onChanged(ViewPager.java:2910)

11-12 14:00:45.116 2958-2958/? E/AndroidRuntime:     at android.database.DataSetObservable.notifyChanged(DataSetObservable.java:37)

11-12 14:00:45.116 2958-2958/? E/AndroidRuntime:     at android.support.v4.view.PagerAdapter.notifyDataSetChanged(PagerAdapter.java:276)

11-12 14:00:45.116 2958-2958/? E/AndroidRuntime:     at helloas.siinax.com.itcastnews.fragment.Newsfragment$1.onSuccess(Newsfragment.java:104)

11-12 14:00:45.116 2958-2958/? E/AndroidRuntime:     at com.lidroid.xutils.http.HttpHandler.onProgressUpdate(HttpHandler.java:218)

11-12 14:00:45.116 2958-2958/? E/AndroidRuntime:     at com.lidroid.xutils.task.PriorityAsyncTask$InternalHandler.handleMessage(PriorityAsyncTask.java:385)

11-12 14:00:45.116 2958-2958/? E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:99)

11-12 14:00:45.116 2958-2958/? E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:137)

11-12 14:00:45.116 2958-2958/? E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5041)

11-12 14:00:45.116 2958-2958/? E/AndroidRuntime:     at java.lang.reflect.Method.invokeNative(Native Method)

11-12 14:00:45.116 2958-2958/? E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:511)

11-12 14:00:45.116 2958-2958/? E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)

11-12 14:00:45.116 2958-2958/? E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)

11-12 14:00:45.116 2958-2958/? E/AndroidRuntime:     at dalvik.system.NativeStart.main(Native Method)</code>


PHPzPHPz2895 hari yang lalu583

membalas semua(1)saya akan balas

  • 巴扎黑

    巴扎黑2017-04-17 17:55:08

    Bukankah pandangan kepala adalah tajuk? Mengapa addHeaderView menggunakan mAuto_roll sebaliknya?
    Sepatutnya begini

    1

    <code>newspagerlv.addHeaderView(header);</code>

    balas
    0
  • Batalbalas