次のコンストラクターで ResourceCursorTreeAdapter を使用するにはどうすればよいですか?
ResourceCursorTreeAdapter(Context context, Cursor cursor, int collapsedGroupLayout, int expandedGroupLayout, int childLayout)
私はそれを次のように使用しようとしています:
_resultsCursorTreeAdapter = new ResourceCursorTreeAdapter(_resultsList.getContext(), _dbAdapter.getAllGroups(),
R.layout.timing_group_view_collapsed, R.layout.timing_group_view_expanded, R.layout.timing_result_view) {
@Override
protected Cursor getChildrenCursor(Cursor groupCursor) {
// Given the group, we return a cursor for all the children within that group
int groupId = groupCursor.getInt(0);
Cursor childCursor = _dbAdapter.getContractionsForGroup(groupId);
return childCursor;
}
@Override
protected void bindGroupView(View groupView, Context context, Cursor cursor,
boolean isExpanded) {
TimingGroupView timingGroupItem = null;
if(groupView instanceof LinearLayout){
Log.i("TimingGroupView", "Has Header");
LinearLayout layout = (LinearLayout)groupView;
timingGroupItem = (TimingGroupView) layout.getChildAt(0);
} else{
Log.i("TimingGroupView", "No Header");
timingGroupItem = (TimingGroupView) groupView;
}
...
グループ ノードが展開されている場合、各行が子ノードに保持されているテーブルのヘッダーをグループ ノードに含める必要があります。この質問の下部に、timing_group_view_expanded.xml と timing_group_view_collapsed.xml が表示されます。何らかの理由で、グループ ノードが展開されているか折りたたまれているかにかかわらず、group_view_expanded は使用されません。私はこれを間違って使用していますか?このコンストラクターで ResourceCursorTreeAdapter を動作させることができた人はいますか?
timing_group_view_expanded.xml は次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/timing_group_view"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="wrap_content" xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@color/header_timing_color">
<com.contractiontracker.TimingGroupView
android:id="@+id/timing_group_item" xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_marginLeft="30px" android:padding="10dp"
android:scrollbars="vertical"
android:fadingEdge="vertical"
android:background="@color/header_timing_color"
android:textColor="@color/text_color"/>
<com.contractiontracker.RowLayout android:id="@+id/timing_group_view"
android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_height="wrap_content" xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@color/header_color" android:textColor="@color/text_color">
<TextView android:id="@+id/interval_header"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:text="Interval" android:layout_weight="1"
android:layout_gravity="left|bottom" android:gravity="center"
android:textColor="@color/text_color">
</TextView>
<TextView android:id="@+id/duration_header"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:text="Duration" android:layout_weight="1"
android:layout_gravity="center_horizontal|bottom" android:gravity="center"
android:textColor="@color/text_color"
>
</TextView>
<TextView android:id="@+id/intensity_header"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:text="Intensity" android:layout_weight="1"
android:layout_gravity="right|bottom" android:gravity="center"
android:textColor="@color/text_color"
>
</TextView>
</com.contractiontracker.RowLayout>
</LinearLayout>
timing_group_view_collapsed.xml は次のようになります。
<?xml version="1.0" encoding="utf-8"?>
<com.contractiontracker.TimingGroupView
android:id="@+id/timing_group_item"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="50px"
android:padding="10dp"
android:scrollbars="vertical"
android:textColor="@color/text_color"
android:fadingEdge="vertical"/>