私の質問が一般的なようでしたら申し訳ありません。私はグーグルを持っていて、多くの結果を持っていますが、どれも適用できません。
を使用するフラグメントがありますGridView layout
。グリッドビューにも使用BaseAdapter
します。
データが変更されたときに呼び出しますgridView.invalidateViews();
が、gridview は新しいデータで再描画しません。
gridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
getTable(position).setStatus("busy"); // change data
gridView.invalidateViews(); // and redraw
}
または、私は別の方法を行います:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.waiter_view_fragment, container, false);
gridView = (GridView) (rootView).findViewById(R.id.waiterGridView);
gridView.setAdapter(new ImageAdapterHost(this, getActivity()));
// Add this line here
((BaseAdapter)gridView.getAdapter()).notifyDataSetChanged();
}
答えは同じです。データをテストすると、データは実際に変更されますが、グリッドビューは更新されませんが、グリッドビューは再描画されません。
データ変更後にグリッドビューフラグメントを再描画する方法を教えてください。
ありがとう :)