私はまったく同じ問題を抱えていましたが、(私のように) これを実装しようとしたときにドキュメントを読まなかったと思います。
オブジェクトの配列を ArrayAdapter に渡し、その後その配列をスーパー コンストラクターに渡しました。
私が犯した間違いは次のとおりです。渡された配列への参照を保存し、そのgetView()
配列を使用してメソッド内のアイテムを描画しました。
public SimpleAdapter( Context context, List< MyType > values )
{
super( context, R.layout.rowlayout, values );
this.context = context;
this.values = values;
}
@Override
public View getView( int position, View convertView, ViewGroup parent )
{
// ...
MyType myType = values.get( position );
// ...
}
私がすべきgetItem()
だったことは、ArrayAdapter クラスで呼び出されます。
MyType myType = getItem( position );
それを美しく修正したのは、後から考えるとかなり明らかです。
-(e)