如果我的问题似乎很常见,我很抱歉。我有谷歌,有很多结果,但我都不能申请。
我有一个使用GridView layout
. 我也BaseAdapter
用于我的gridview。
当数据发生变化时,我会打电话,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();
}
答案还是一样的。我的gridview没有重绘,虽然当我测试数据时,数据确实发生了变化,但不要更新我的gridview。
请教我如何在数据更改后重绘gridview片段。
谢谢 :)