2011-04-19 96 views
0

我目前擁有一個由簡單適配器支持的列表視圖。我可以更新簡單適配器值,但是,它們不會在列表視圖中更新,除非視圖熄滅屏幕..然後,當它返回到屏幕時,它將被更新。我已經嘗試了所有像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; 
      } 

回答

0

這可能不是最好的方式,但我只是重置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