私は次のような問題があり、しばらく探したが、ネットからのすべてのソリューションを持っていない:getViewメソッド()(notifyDatasetChangedに呼び出されません)
私が持っていますカスタムリストビューには、各項目は以下のレイアウト(私は不可欠なポスト)があります。
<LinearLayout>
<ImageView android:id="@+id/friendlist_iv_avatar" />
<TextView andorid:id="@+id/friendlist_tv_nick_name" />
<ImageView android:id="@+id/friendlist_iv_status_icon" />
</LinearLayout>
をそして、私は上記のレイアウトから膨張されたクラスFriendRowItem、持っている:メインで
3210を活動、私はカスタムアダプターと、lvMainListView:カスタムリストビューをaveの(そのクラスArrayAdapterを拡張 - もちろんオフ:メソッドgetViewメソッドをオーバーライドする)、アダプタのデータ・セットがある:ArrayList<Friend> friends
:
private class FriendRowAdapter extends ArrayAdapter<Friend> {
public FriendRowAdapter(Context applicationContext, int friendlistRow,
ArrayList<Friend> friends) {
super(applicationContext, friendlistRow, friends);
}
@Override
public View getView(int position,View convertView,ViewGroup parent) {
Friend friend = getItem(position);
FriendRowItem row = (FriendRowItem) convertView;
if (row == null) {
row = new FriendRowItem(ShowFriendsList.this.getApplicationContext());
}
row.setPropeties(friend);
return row;
}
}
- 問題が場合であります友人のステータスをOFFLINEからONLINEに変更してから、notifyDataSetChanged()を呼び出すと、何も起こりません。その友達のステータスアイコンは変更されません。
私はデバッグを試み、コードを見ました:notifyDataSetChanged()は呼び出されますが、カスタムgetView()は起動されません!
Androidでは正常ですか、何か間違ったことはありますか? (私はAndroid 1.5を使用しています)。
が、私は申し訳ありませんが、事前に
息子
Thxを追加する必要があり、あなたは私の怒りのいくつかの時間を保存:) – Intrepidd
これは私も下のこれをしなければならないということを意味していますか? @Override保護ボイドonPostExecute(ブールisSearchItemNotFound){ mAgendaAdapterObj.notifyDataSetChanged()。 mAgendaRv.setAdapter(mAgendaAdapterObj); } –