2011-04-19 6 views
0

현재 단순 어댑터로 지원되는 목록보기가 있습니다. 그러나 단순 어댑터 값을 업데이트 할 수 있습니다. 그러나 뷰가 화면을 벗어나지 않는 한 목록보기에서 업데이트되지 않습니다. 화면으로 돌아 오면 업데이트됩니다. Ive는 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

이 가장 좋은 방법이 될 수 없습니다) = 응답 누구에게 감사하지만 전체보기를 새로 고침 할 때마다 나는 단순히 목록보기 어댑터를 다시 설정합니다.

+0

괜찮 았어, 여기 getView()의 구현은 아직 화면이 꺼져 있지 않은 한 나에게 알려주기 바란다. – Gabe

+0

코드가 질문에 추가됨 * – Gabe

+0

list.setAdapter를 사용하여 목록보기 어댑터를 재설정하면) 프로그램이 충돌 함 – Gabe

관련 문제