2011-03-15 58 views
2

我已经实现从一个教程多TextViews自定义列表视图中发现here,所有工作得很好,但我希望能够更新用新数据飞textviews 。更新列表视图中使用新的数据

比如我设置的列表视图中有关项目的点击收听,并且点击时会弹出一个对话框,提示用户输入数据。我可以通过调用populateList()来获取新数据并更新数组,但是新的数据不会显示在文本中,直到活动重新启动。我怎么能告诉simpleAdapter获取新数据并在对话结束后立即显示它?

编辑:代码所示:

在的onCreate:

lv = (ListView) findViewById(R.id.list); 
adapter = new SimpleAdapter(
      this, 
      list, 
      R.layout.listtextview, 
      new String[] {"Title","Desc"}, 
      new int[] {R.id.settingsListItem,R.id.settingsListDesc} 
      ); 
    populateList(settingsList, settingsListDetails); 
    lv.setAdapter(adapter); 
    lv.setOnItemClickListener 
     (new OnItemClickListener() 
      { 
       public void onItemClick(AdapterView<?> parent, View  
       view,int position, long id) 
       { 
        if (position == 0) 
             { 
        showDialog(WAKE_TIME); 
        }   
       } 
     }); 

,弹出对话框:

public Dialog onCreateDialog(int id) 
{ 
    switch(id) { 
     case WAKE_TIME : 

    return new TimePickerDialog(this,WakeTimeSetListener,  
    wakeHour, wakeMinute, false); 
} 

的TimePicker对话框,notifyDataSetChanged被称为:

private TimePickerDialog.OnTimeSetListener WakeTimeSetListener = new  
TimePickerDialog.OnTimeSetListener() 
{ 
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) 
     { 
      wakeHour = hourOfDay;    
      wakeMinute = minute; 

      wakeHourText = Integer.toString(hourOfDay); 
      wakeMinuteText = Integer.toString(minute); 

      String preftime = hourOfDay + ":" + minute; 

      SimpleDateFormat df = new SimpleDateFormat("HH:mm"); 
      SimpleDateFormat dfOut = new SimpleDateFormat("hh:mm a"); 

      try 
      { 
       wakeDate = df.parse(preftime); 
      } 
      catch (ParseException e1) 
      { 
       // TODO Auto-generated catch block 
       e1.printStackTrace(); 
      } 


       populateList(settingsList, settingsListDetails); 

       adapter.notifyDataSetChanged(); 

     } 

回答

3

你有没有试过

adapter.notifyDataSetChanged(); 
+0

@slund:yep .... nada .... $#(#? – dell116 2011-03-15 22:56:16

+0

@ dell116很奇怪。你可以发布你的代码吗? – 2011-03-15 22:59:41

+0

@Robby Pond:很脏,但它来了。 – dell116 2011-03-15 23:04:53