Androidで奇妙な問題に苦しんでいます。AndroidでListViewが消えるListView
リスト要素のカスタムビューを持つListViewがあります。このカスタムビューには、ProgressBarとRadioButtonが含まれています。 Here's a nice screenshot。
ラジオを確認してアクションモードを開始すると、すべてのプログレスバーが消えます。 Here's another screenshot。
画面の向きが変わったり、キーパッドを開いたままにすると、すべて正常に戻ります。
アダプターのリサイクルビューに関連するこの種の問題について、多くの記事を見てきました。ただし、ListView.invalidateViews
を呼び出しても効果はありません。 ListView全体を完全にリフレッシュする方法はありますか?設定の変更があるたびに、あなたのActivity
が破壊され、その後、再作成されるので、これが起こる
public class SimpleContactsCursorAdapter extends SimpleCursorAdapter {
public SimpleContactsCursorAdapter(Context context, int layout, Cursor c, String[] from,
int[] to, int flags) {
super(context, layout, c, from, to, flags);
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
TextView nameView = (TextView) view.findViewById(R.id.contact_item_name);
TextView callView = (TextView) view.findViewById(R.id.contact_call_text);
ProgressBar progressBar = (ProgressBar) view.findViewById(R.id.contact_item_progress);
String name = cursor.getString(Contact.Columns.COLUMN_INDEX_NAME);
int delta = cursor.getInt(Contact.Columns.COLUMN_INDEX_DELTA);
String callString;
nameView.setText(name);
if (delta >= 0) {
callString = getString(R.string.call_in, delta);
}
else {
callString = getString(R.string.days_late, Math.abs(delta));
progressBar.setProgressDrawable(mResources.getDrawable(R.drawable.late_progress_bar));
}
callView.setText(callString);
progressBar.setProgress(Math.abs(delta));
}
};
ありがとうございます。しかし、これは私の質問に答えることはできません。なぜなら、「アクティビティ」が破壊されていないとき、プログレスバーが消えるのはなぜですか? –