Q:

How do Refresh List View when adding new elements

What i am doing is showing a list view and reload its data when list is Moved to last Element. 
Its working fine but the problem is when it reloads it went back to the top element in list.  I want List to be stayed at same position and append new Elements below it. 
Here is what i am doing
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
        int visibleItemCount, int totalItemCount) {
    if (firstVisibleItem + visibleItemCount == totalItemCount
            && totalItemCount ! = 0) {
        if (flag_loading == false) {
            flag_loading = true;
            toast("Last view");
            loadMorePost();
        }
    }

}

private void loadMorePost() {
    page_no = page_no + 1;
    String url = "api/post/index/page_no/" + page_no;
    syncManager.sendToServer(url, null, this);
}

        if (action.equals("index") && controller.equals("post")) {
            if (status) {
                //postItemsList.clear();
                JSONArray postArray = jsonObject.getJSONArray("post_list");
                if (postArray.length() <= 0) {
                    toast("No Post Available");
                } else {
                    for (int i = 0; i < postArray.length(); i++) {
                        JSONObject obj = postArray.getJSONObject(i);
                        ItemsAllPost data = new ItemsAllPost();
                        data.user_first_name = obj
                                .getString("User_first_name");
                        data.user_address = obj.getString("User_address");
                        data.user_post_count = obj
                                .getString("user_post_count");
                        data.description = obj
                                .getString("post_description");
                        data.category_id = obj.getString("category_id");
                        data.create_user_id = obj
                                .getString("create_user_id");
                        data.post_image = obj.getString("post_image");
                        data.user_ph_no = obj.getString("User_ph_no");
                        data.user_long = obj.getString("User_long");
                        data.date = obj.getString("date");
                        data.post_fav = obj.getString("post_fav");
                        data.amount = obj.getString("amount");
                        data.id = obj.getString("id");
                        data.category_title = obj
                                .getString("category_title");
                        data.time_period = obj.getString("time_period");
                        data.is_private = obj.getString("is_private");
                        data.fav_count = obj.getString("fav_count");
                        JSONArray imagesarry = obj
                                .getJSONArray("post_image");
                        data.imgList = new String[imagesarry.length()];
                        for (int j = 0; j < imagesarry.length(); j++) {
                            data.imgList[j] = imagesarry.getString(j);
                        }
                        data.view_count = obj.getString("view_count");
                        data.user_email = obj.getString("User_email");
                        data.user_lat = obj.getString("User_lat");
                        data.title = obj.getString("post_title");
                        postItemsList.add(data);
                    }
                    inflateList(postItemsList);
                }
            }
        }

private void inflateList(ArrayList<ItemsAllPost> postItemsList) {
    if (postItemsList.size() > 0) {
        adapter = new AllPostAdapter((BaseActivity) activity,
                postItemsList, userDataFrag);
        allpostsLV.setAdapter(adapter);
        adapter.notifyDataSetChanged();
    } else {
        // do nothing
    }
}

Any Help
What should i do
Thanks in Advance

A:

using one List to store your data :
private List<ItemsAllPost> datas;

init your adapter only one when the first time you get data :
adapter = new AllPostAdapter((BaseActivity) activity,
            postItemsList, datas);

when you load more data finish just add all extra data to : datas 
 datas.addAll(moredataList);

and only need to call :
 adapter.notifyDataSetChanged();

I cant see where postItemsList is declared so I guess you made it like  the : datas variable so you can only call : adapter.notifyDataSetChanged();  but don't re-init your adapter.