Android : Adapter doesn't update with new items

on Wednesday, October 8, 2014


my code after add new items in Array adapter does not update with new items. for example :



public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
items = new ArrayList<ReceivedItemStructure>();

getRequestFromServer(0, 10);
adapter = new ReceivedAdapter(G.context, items);
setListAdapter(adapter);

getRequestFromServer(getLastID(), 10);
adapter.notifyDataSetChanged();

return super.onCreateView(inflater, container, savedInstanceState);
}

private String getRequestFromServer(long lastID, int count) {
String received = "";
try {
...
}

} catch (Exception e) {
e.printStackTrace();
}
return received;
}

public ArrayList<ReceivedItemStructure> items;
public ReceivedAdapter adapter;

private void addDataToList(String LastID, String SmsBody, String SmsNumber, String SenderName, String ContactName, String Date) {
String mLastID = LastID;
String mUserID = config_username;
String mSmsBody = SmsBody;
String mSmsNumber = SmsNumber;
String mSenderName = SenderName;
String mContactName = ContactName;
String mDate = Date;
ReceivedItemStructure item = new ReceivedItemStructure(
mLastID,
mUserID,
mSmsBody,
mSmsNumber,
mSenderName,
mContactName,
mDate
);
items.add(item);
adapter.notifyDataSetChanged();
}


My Adapter class is this code:



public class ReceivedAdapter extends ArrayAdapter<ReceivedItemStructure> {

public ReceivedAdapter(Context c, List<ReceivedItemStructure> items) {
super(c,0,items);
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ReceiveItemView itemView = (ReceiveItemView)convertView;
if (null == itemView)
itemView = ReceiveItemView.inflate(parent);

itemView.setItem(getItem(position));
return itemView;
}

}


for add new data into items i dont have any problem but i dont khnow why my adapter could not update with new data.


0 comments:

Post a Comment