2012-05-11 3 views
0

안녕하세요, 병합 어댑터를 사용하여 목록보기를 만들고 있습니다. 하지만 헤더에 문제가 있습니다. 그들은 자주 목록의 독립적 인 페이지로 스크롤하는 것처럼 보인다. 헤더를 제자리에 두도록하려면 어떻게해야합니까? 아니면이 문제를 일으킬 수있는 사람이 없습니까?Android 헤더보기가 목록보기와 분리되어 스크롤됩니다.

을 heres 내 코드

arrayAdapter = new ArrayAdapter<String>(this, R.layout.single_item, newsList); 
arrayAdapter2 = new ArrayAdapter<String>(this, R.layout.single_item, newsList2); 
arrayAdapter3 = new ArrayAdapter<String>(this, R.layout.single_item, newsList3); 


RelativeLayout layout = new RelativeLayout(this); 
RelativeLayout.LayoutParams labelLayoutParams = new RelativeLayout.LayoutParams(
      RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.FILL_PARENT); 
    layout.setLayoutParams(labelLayoutParams); 

    ImageView mImage = new ImageView(this); 
    mImage.setBackgroundResource(R.drawable.titlerect);   
    layout.addView(mImage,labelLayoutParams); 

    TextView latestFixtures;   
     latestFixtures = new TextView(this); 
     latestFixtures.setText("Latest League Fixture"); 
     layout.addView(mImage,labelLayoutParams); 


    ListView list = getListView(); 
     list.setTextFilterEnabled(true); 




setListAdapter (arrayAdapter); 




    adapter = new MergeAdapter(); 
    adapter.addView(layout); 
    adapter.addAdapter(arrayAdapter); 
    adapter.addView(layout); 
    adapter.addAdapter(arrayAdapter2); 
    adapter.addView(layout); 
    adapter.addAdapter(arrayAdapter3); 
    setListAdapter(adapter); 

} 

코드

05-15 13:35:14.489: E/ListView(1045): java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams 
05-15 13:35:14.489: E/ListView(1045): at android.widget.ListView.setupChild(ListView.java:1834) 
05-15 13:35:14.489: E/ListView(1045): at android.widget.ListView.makeAndAddView(ListView.java:1803) 
05-15 13:35:14.489: E/ListView(1045): at android.widget.ListView.fillDown(ListView.java:670) 
05-15 13:35:14.489: E/ListView(1045): at android.widget.ListView.fillFromTop(ListView.java:727) 
05-15 13:35:14.489: E/ListView(1045): at android.widget.ListView.layoutChildren(ListView.java:1646) 
05-15 13:35:14.489: E/ListView(1045): at android.widget.AbsListView.onLayout(AbsListView.java:1260) 
05-15 13:35:14.489: E/ListView(1045): at android.view.View.layout(View.java:7277) 
05-15 13:35:14.489: E/ListView(1045): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1254) 
05-15 13:35:14.489: E/ListView(1045): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1130) 
05-15 13:35:14.489: E/ListView(1045): at android.widget.TableLayout.onLayout(TableLayout.java:440) 
05-15 13:35:14.489: E/ListView(1045): at android.view.View.layout(View.java:7277) 
05-15 13:35:14.489: E/ListView(1045): at android.widget.FrameLayout.onLayout(FrameLayout.java:338) 
05-15 13:35:14.489: E/ListView(1045): at android.view.View.layout(View.java:7277) 
05-15 13:35:14.489: E/ListView(1045): at android.widget.FrameLayout.onLayout(FrameLayout.java:338) 
05-15 13:35:14.489: E/ListView(1045): at android.view.View.layout(View.java:7277) 
05-15 13:35:14.489: E/ListView(1045): at android.view.ViewRoot.performTraversals(ViewRoot.java:1203) 
05-15 13:35:14.489: E/ListView(1045): at android.view.ViewRoot.handleMessage(ViewRoot.java:1957) 
05-15 13:35:14.489: E/ListView(1045): at android.os.Handler.dispatchMessage(Handler.java:99) 
05-15 13:35:14.489: E/ListView(1045): at android.os.Looper.loop(Looper.java:143) 
05-15 13:35:14.489: E/ListView(1045): at android.app.ActivityThread.main(ActivityThread.java:4263) 
05-15 13:35:14.489: E/ListView(1045): at java.lang.reflect.Method.invokeNative(Native Method) 
05-15 13:35:14.489: E/ListView(1045): at java.lang.reflect.Method.invoke(Method.java:507) 
05-15 13:35:14.489: E/ListView(1045): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
05-15 13:35:14.489: E/ListView(1045): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
05-15 13:35:14.489: E/ListView(1045): at dalvik.system.NativeStart.main(Native Method) 
+0

여기에서 문제를 해결하려고 노력 중입니다. –

답변

0

어느 사용 MergeAdapter또는 사용 addHeaderView(), 둘.

+0

감사합니다. 문제는 내가 헤더보기가 화면에 올 때 내가 그것을 응용 프로그램을 크롤링 할 때 addView (headrview)를 사용할 때입니다. –

+0

@LukeBatley : Eclipse에서'adb logcat', DDMS 또는 DDMS 퍼스펙티브를 사용하여 LogCat을 검사하고 스택 추적을 봅니다. 당신의 "충돌"과 관련이 있습니다. – CommonsWare

+0

님이 질문에 오류를 추가했습니다. –

관련 문제