リストアイテムに2行のテキストがあるリストを作成する必要があります。TwoLineListItem
カスタムリストアイテムの作成を開始しましたが、その後、コンポーネントを発見しました。私はこのコードを書きました:
pageFilterResultView=new TwoLineListItem(containerActivity);
pageFilterResultView.getText1().setText("Test");
ただし、getText1
nullを返し、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
正しく使用できますか?独自のカスタムレイアウトを作成する必要がありますか?もしそうなら、私がまだ自分でリストアイテムを作成するすべての作業をしなければならない場合、このコンポーネントのポイントは何ですか?