Android列表视图简单适配器更新屏幕但不在屏幕上

时间:2011-04-19 01:00:48

标签: java android listview

我目前有一个简单适配器支持的列表视图。我可以很好地更新Simple Adapter值,但是,除非视图关闭屏幕,否则它们不会在列表视图上更新..然后当它返回到屏幕时会更新。我已尝试将listview.refreshDrawableState和listview.invalidate等所有内容尝试到simpleadapter.notifyDataSetChanged,并且没有任何内容使其在屏幕上更新,视图必须在屏幕上滚动然后重新开始更新。

感谢响应者=)

public View getView(int position, View convertView, ViewGroup parent)
            {
                View v = convertView;
                if (v == null)
                {
                    LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                    v = vi.inflate(R.layout.machine_list, null);
                }

                HashMap<String, String> map = machineListView.get(position);

                if (map != null)
                {
                    TextView status = (TextView)findViewById(R.id.statusText);
                    TextView numAlarms = (TextView)findViewById(R.id.alarmText);

                    if (status != null)
                        status.setText(map.get(status));
                    if (numAlarms != null)
                        status.setText(map.get(numAlarms) + " Alarms");

                }

                return v;
            }

1 个答案:

答案 0 :(得分:0)

这可能不是最好的方法,但只要我想刷新整个视图,我就会重置listView适配器。