나는 CWAC 병합 어댑터에 문제가 있어요 : 내가 연이어 뷰와 어댑터를 추가하고 때 잘 작동하지만 보인다 https://github.com/commonsguy/cwac-merge병합 어댑터 헤더 충돌
그 나는 다른 뒤에 하나를 두 개의 헤더를 추가 할 때 충돌. 이 첫 번째 헤더의 레이아웃이
: 여기에 내가 무엇을
<?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="match_parent"
android:orientation="horizontal"
android:weightSum="7"
android:baselineAligned="false" >
<LinearLayout
android:id="@+id/unsynced_layoutt"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="6"
android:orientation="vertical" >
<View
android:layout_width="match_parent"
android:layout_height="3dp"
android:background="@color/greenish" />
<TextView
android:id="@+id/unsynced_txt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:gravity="center"
android:text="@string/unsynced_txt" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/lorem_ipsum" />
<View
android:layout_width="match_parent"
android:layout_height="3dp"
android:layout_gravity="bottom"
android:background="@color/greenish" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_weight="1"
android:id="@+id/sync_close_notification"
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="@color/grey_bcknd">
<ImageButton
android:id="@+id/menu_btn"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:layout_marginLeft="10dp"
android:layout_marginRight="15dp"
android:background="@null"
android:contentDescription="@string/something"
android:src="@drawable/notification_close_x_green" />
</LinearLayout>
</LinearLayout>
두 번째 헤더 레이아웃 : 내가 물리적으로 추가하려고 여기
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/grey_bcknd"
android:orientation="vertical" >
<View
android:id="@+id/top_line"
android:layout_width="match_parent"
android:layout_height="1dp"
android:alpha="0.25"
android:background="@color/grey_line" />
<TextView
android:id="@+id/receipt_header_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/top_line"
android:layout_marginLeft="10dp"
android:text="@string/active_folders"
android:textColor="#B4AA9E" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_alignParentBottom="true"
android:layout_below="@+id/receipt_header_txt"
android:alpha="0.25"
android:background="@color/grey_line" />
</RelativeLayout>
와는 :
all_adapter = new MergeAdapter();
final View notification = inflater
.inflate(R.layout.unsynced_layout, null);
TextView notification_txt = (TextView) notification.findViewById(R.id.unsynced_txt);
notification_txt.setText("You have "+unsynced_nr+" unsynced items");
all_adapter.addView(notification_txt);
for(int i=0;i<dates.size();i++){
System.out.println("HERE "+i);
View header1 = inflater
.inflate(R.layout.receipt_list_header, null);
TextView date_header_txt = (TextView) header1.findViewById(R.id.receipt_header_txt);
date_header_txt.setText(dates.get(i));
all_adapter.addView(header1);
ReceiptDataSource recs1 = new ReceiptDataSource(globalView.getContext());
recs1.open();
ArrayList<Receipt> currentReceipts = recs.findReceiptsByDate(dates.get(i), folder_id);
recs1.close();
//ReceiptAdapter folder_receipts = new ReceiptAdapter(getActivity(), R.layout.receipt_item, R.layout.receipt_incomplete_item, currentReceipts);
ReceiptCustomAdapter folder_receipts = new ReceiptCustomAdapter(globalView.getContext(), R.layout.receipt_pager,
currentReceipts, getActivity().getSupportFragmentManager());
all_adapter.addAdapter(folder_receipts);
}
및 스택 트레이스 :
코드가 더 이상 충돌하지 않는all_adapter.addView(notification_txt);
: 내가 라인을 코멘트 경우
08-06 11:54:15.558: E/AndroidRuntime(20408): FATAL EXCEPTION: main
08-06 11:54:15.558: E/AndroidRuntime(20408): java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams
08-06 11:54:15.558: E/AndroidRuntime(20408): at android.widget.ListView.measureScrapChild(ListView.java:1170)
08-06 11:54:15.558: E/AndroidRuntime(20408): at android.widget.ListView.measureHeightOfChildren(ListView.java:1252)
.
의견을 보내 주시면 감사하겠습니다.
방법'에'의 getView()'방법을 찾습니다 ListAdapter'? – Sajmon
나는 관련성이 있다고 생각하지 않는다. 어댑터가 아닌 뷰를 추가 할 때 코드가 충돌한다 ... –
'getView()'메소드에서 관련성이 있다고 생각한다면 전체 대신에'TextView' 만 리턴한다. 행'보기'. – Sajmon