2012-08-17 124 views
0

我有一個片段類中的Listview,每次添加新數據時都需要更新。 新的數據不反映在列表如何在Android中的片段中刷新ListView中的數據?

我的片段類:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

     View view = inflater.inflate(R.layout.messagelist, null); 
     listView = (ListView) view.findViewById(R.id.listOfMessages); 

    messageList(); 
    return view; 

} 

私人無效給messageManager(){

msgRecordList.addAll((AppService.getInstance()).getMsgId()); 
    if (!(msgRecordList.equals(""))) { 


     msgListAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, addMessage()); //addMessage adds data to the list 


     listView.setAdapter(msgListAdapter); 
     ((BaseAdapter) msgListAdapter).notifyDataSetChanged(); 


     listView.setVisibility(View.VISIBLE); 
    } else { 
     System.out.println(" i am in else"); 
    } 
    return listView; 

} 


protected List<String> addMessage() { 

    List<String> msgList = new ArrayList<String>(); 
    int size = AppService.getInstance().getMsgId().size(); 
    System.out.println("sizeee:::" + size); 
    for (int i = 0; i < size; i++) { 
     msgList.add(AppService.getInstance().getMsgTimeStamp().get(i) + " : " 
       + AppService.getInstance().getMsgDescription().get(i)); 
    } 

    return msgList; 
} 

回答

0

使用此代碼,要刷新數據。

myListAdapter.notifyDataSetChanged(); 

List<object> list= addMesage(); 
listview.setAdaptor("**", "***", list); 

然後使用notifydatasetChanged();

+0

我用過但它沒有工作:( – 2012-08-17 09:29:54

+0

可以發佈代碼,你在哪裏使用過它? – Kamal 2012-08-17 11:36:58

+0

嗨kamal,其實我想動態地更新列表。 – 2012-08-17 12:22:32

相關問題