2016-05-10 10 views
0

私はAndroid BaseAdapterを拡張しています。Android BaseAdapter.getViewリサイクルビュー

方法

getView (int position, View convertView, ViewGroup parent) 

に関してはドキュメントは、あなたがこのビューが非NULLかつ使用前に適切な型 であることを確認する必要があり

を言います。このビューを変換して という正しいデータを表示できない場合、このメソッドは新しいビューを作成できます。

ビューが適切なタイプであるかどうかを確認するにはどうすればよいですか?

2つのTextViewの子供がいるLinearLayoutを期待していますか?どうすればこれを正しくチェックできますか?

これが正しいですか?

あなただけのアダプターで1つのビュータイプを持っている場合、あなたはそれが非nullであるかどうかを確認する必要があります(convertViewのinstanceofのLinearLayout){

if (convertView.findViewById(someid) != null) { 
//its what I expect... 
} 

}

+0

とホルダーを使用しているとして、実行時にレイアウト上のビューを取得のお手伝いをすることができます適切であろう、ホルダーを使用することができます。これを確認してください[回答](http://stackoverflow.com/a/19289890/5573623)。 –

答えて

1

場合。

複数のビュー・タイプ(getViewTypeCount()をオーバーライドして1以外のものを戻す場合)がある場合は、ビュー・タイプのチェックは、そのタイプに基づいてタイプを判別する必要があります。基本的に、getViewTypeCount()をオーバーライドしない場合はnullをチェックするだけです。

0

ViewHolderクラスを作成すると、複数のビューを持っている場合は、1つの以上のビューを持っている場合、これはあなたがそれぞれのビュー

関連する問題