0

ListView の ListItem の 1 つにアクセスしようとしていますが、以下のようになっています。多くの人が同様の問題について議論しました。しかし、私は試してみましたが、どれもうまくいきませんでした。私のコードを以下に示します。

 pos = 0;//position of ListItem
 for(cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext())
 {
     if(tel.equals(cursor.getString(2)))
         break;
     pos++;
 }  
 LayoutInflater mInflater = LayoutInflater.from(context);
 View myView = mInflater.inflate(R.layout.my_list_fragment, null);
 lvObjects = (ListView)myView.findViewById(android.R.id.list);              
 View v = lvObjects.getChildAt(pos);

私の問題は (1)View vが常にNull. (2) getChildAt()visible のみを返しますView。hidden にアクセスしたい場合View、どうすれば達成できますか?

4

1 に答える 1

0

これを行うべきではありません。 ListViewレンダリングする必要のないビューをレンダリングせず、既に作成されたビュー オブジェクトを再利用します。これは最適化です。

代わりに、実装を提供Adapterまたは拡張し、メソッドをオーバーライドして、コードによって作成または作成されgetViewたビューを操作します。super.getView

ListViewすでに項目を表示している場合は、 を呼び出して項目を再描画できますListView.invalidateViews。ビューを描画するためにアダプターを呼び出します。

使用していて、基になるものが変更されている場合は、アダプターBaseAdapterを呼び出します。notifyDataSetChanged

于 2013-07-06T13:41:47.183 に答える