リストアイテムに2行のテキストがあるリストを作成する必要があります。TwoLineListItemカスタムリストアイテムの作成を開始しましたが、その後、コンポーネントを発見しました。私はこのコードを書きました:
pageFilterResultView=new TwoLineListItem(containerActivity);
pageFilterResultView.getText1().setText("Test");
ただし、getText1nullを返し、2行目は。をスローしNullPointerExceptionます。だから私はコンストラクターの代わりに膨らんだレイアウトを使う必要があると思いました。TwoLineListItemのドキュメントでは、レイアウトにリソースを使用できると指定されてandroid.R.layout.two_line_list_itemいるため、コードを次のように変更しました。
LayoutInflater inflater=(LayoutInflater)containerActivity.
getSystemService(Context.LAYOUT_INFLATER_SERVICE);
pageFilterResultView=(TwoLineListItem)inflater.inflate(android.R.
layout.two_line_list_item,null);
pageFilterResultView.getText1().setText("Test");
ただし、ClassCastExceptionレイアウトは実際には。であるため、これはをスローしますLinearLayout。TwoLineListItemから継承するRelativeLayoutため、階層内の上位クラスにレイアウトをキャストすることもできません。
だから問題は:どうすればTwoLineListItem正しく使用できますか?独自のカスタムレイアウトを作成する必要がありますか?もしそうなら、私がまだ自分でリストアイテムを作成するすべての作業をしなければならない場合、このコンポーネントのポイントは何ですか?