さて、私は過去数日間探していました。これを達成するために人々が作成したカスタムクラスを見つけ続けています。特に、 Jeff Sharkey のクラスと Commonsware クラスです。
Jeff Sharkey が 2008 年にそれを公開したことに気付きました。それは少し前のことです。Google は、カスタム クラスを使用せずにこれを行う方法を統合しましたか? カスタム クラスを使用する必要はなく、Java/Android SDK に固執する必要はありません。
いいえ。Google は、開発者が既存のコンポーネントを活用して独自のコンポーネントを作成できるように、十分な拡張性を備えた基本的なコンポーネントを含む SDK を提供しています。ほとんどの難しいことを行う必要はありません。
リスト ヘッダーのようなものもそれほど難しくありません。Google が SDK に追加する必要はありません。
プロジェクトを使用するたびにコンポーネントを再作成するのを避けたい場合は、Android ライブラリ プロジェクトでお気に入りのクラスをセットアップします。Green Droidなどの追加機能を備えたコンポーネントを含むライブラリもあります。
私は2つのテキストビューを持つtwolinelistview.xmlを持っています。ボトムテキストに通常のデータを入力し、トップテキストにヘッダー データを入力します。空のヘッダー項目は問題を引き起こしません。
public static class ViewHolder {
TextView toptext;
TextView bottomtext;
}
XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/lv_topText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@drawable/ltGrey"
android:background="@drawable/semiTransparentDrk"
android:textSize="24sp"
android:typeface="sans"
android:textStyle="bold"
android:ellipsize="end"
android:scrollHorizontally="true"
android:padding="10sp"/>
<TextView
android:id="@+id/lv_bottomText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@drawable/ltGrey"
android:background="@drawable/semiTransparentDrk"
android:textSize="18sp"
android:typeface="sans"
android:textStyle="bold"
android:ellipsize="end"
android:scrollHorizontally="true"
/>
</LinearLayout>