84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
闭关修行中......
这只能说你对ListView的掌握还不够,ListView依赖于数据适配器Adapter的数据衔接,数据修改也存在于数据源或者数据适配器中,不是那你重新生成数据适配器。
ListView
Adapter
使用适配器 Adapter 的 notifyDataSetChanged() 方法去更新。。。举个栗子:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button_add = (Button) findViewById(R.id.button); // 1.绑定GridView gridView = (GridView) findViewById(R.id.gridView); // 2.创建List资源类对象: list = new ArrayList<Map<String, Object>>(); for (int i=0; i<images.length; i++) { Map<String,Object> map = new HashMap<String, Object>(); map.put("imageid",images[i]); map.put("words",words[i]); list.add(map); } // 3.创建一个 SimpleAdapter simpleAdapter = new SimpleAdapter( this, //上下文 list, //资源对象 R.layout.simple_adapter_cell, new String[] {"imageid","words"}, new int[] {R.id.imageView,R.id.textView} ); // 4.加载到GridView中 gridView.setAdapter(simpleAdapter); // 5.设置 GridView的点击事件: gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Log.e("AdapterView",Integer.toString(parent.getId())); Log.e("View",Integer.toString(view.getId())); Log.e("position",Integer.toString(position)); Log.e("id", Long.toString(id)); } }); // 6.GridView 的动态更新 button_add.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 6.1 给资源类添加新的 Map Map<String,Object> temp = new HashMap<String, Object>(); //新建Map temp.put("imageid",images[0]); //添加新的资源 temp.put("words","P"); list.add(temp); // 6.2 通知 GridView 更新 simpleAdapter.notifyDataSetChanged(); } }); }
直接在数据源List中add,然后通知Adapter去更新数据,adapter.notifyDataSetChanged();
将新数据添加到适配器的list中 然后adapter.notifiedxxx就行啦
recyclerView 配合staggergroidlayoutmanager自己继承adapter 用adapter.notifydatachanged()来通知更新
这只能说你对
ListView
的掌握还不够,ListView
依赖于数据适配器Adapter
的数据衔接,数据修改也存在于数据源或者数据适配器中,不是那你重新生成数据适配器。使用适配器 Adapter 的 notifyDataSetChanged() 方法去更新。。。
举个栗子:
直接在数据源List中add,然后通知Adapter去更新数据,adapter.notifyDataSetChanged();
将新数据添加到适配器的list中 然后adapter.notifiedxxx就行啦
recyclerView 配合staggergroidlayoutmanager
自己继承adapter
用adapter.notifydatachanged()来通知更新