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

问题描述:

我目前拥有一个由简单适配器支持的列表视图。我可以更新简单适配器值,但是,它们不会在列表视图中更新,除非视图熄灭屏幕..然后,当它返回到屏幕时,它将被更新。我已经尝试了所有像listview.refreshDrawableState和listview.invalidate simpleadapter.notifyDataSetChanged并没有让它在屏幕上更新,视图必须滚动屏幕,然后重新获得更新。Android列表视图简单适配器更新屏幕但不在屏幕上

谢谢你给谁响应=)

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; 
      } 

这可能不是最好的方式,但我只是重置ListView的适配器,每当我想刷新整个视图。

+0

OK,那么这里是我的执行getView(的),它仍然没有更新,除非其关闭屏幕,以便让我知道,如果你看到添加任何错误 – Gabe 2011-04-19 01:48:22

+0

代码质疑* – Gabe 2011-04-19 01:57:44

+0

如果我重新使用list.setAdapter列表视图适配器( )它崩溃了程序 – Gabe 2011-04-19 02:00:57