Android 向listview中追加数据的有关问题

Android 向listview中追加数据的问题
我写了一个上滑分页的例子,当上滑的时候会显示下一页内容,但是,前一页内容看不见了。只能看见一页的内容,各位帮忙分析一下。代码如下:

public class DropDownListViewDemo extends Activity {

private List<Story_entryC> story_entrys = null;
private DropDownListView articles_list = null;
public static final int MORE_DATA_MAX_COUNT = 30;
public int moreDataCount = 0;
private static final int success = 1;
private static final int fail = 0;
public int itemsize = 0;
MyUtil myUtil = new MyUtil();
private Bitmap bitmap;
private DataHandler dataHandler = new DataHandler();
MyAdapter adapter = new MyAdapter(story_entrys);
ImageLoader imageLoader = new ImageLoader(this, false);
public HashMap<String, Bitmap> imagesCache = new HashMap<String, Bitmap>();// 图片缓存

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.drop_down_listview_demo);
articles_list = (DropDownListView) findViewById(R.id.list_view);
// set drop down listener
articles_list.setOnDropDownListener(new OnDropDownListener() {

@Override
public void onDropDown() {
new GetDataTask(true).execute();
}
});
new DataThread().start();
// set on bottom listener
articles_list.setOnBottomListener(new OnClickListener() {

@Override
public void onClick(View v) {
new GetDataTask(false).execute();
}
});
articles_list.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
ToastUtils.show(DropDownListViewDemo.this,
story_entrys.get(position - 1).getId());
Intent intent = new Intent();
intent.setClass(DropDownListViewDemo.this,
DropDownListViewDemo.class);
intent.putExtra("id", story_entrys.get(position - 1).getId());
startActivity(intent);

}
});
articles_list.setShowFooterWhenNoMore(true);
}

private class GetDataTask extends AsyncTask<Void, Void, List<Story_entryC>> {

private boolean isDropDown;

public GetDataTask(boolean isDropDown) {
this.isDropDown = isDropDown;
}

@Override
protected List<Story_entryC> doInBackground(Void... params) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
;
}
return story_entrys;
}

@Override
protected void onPostExecute(List<Story_entryC> result) {

if (isDropDown) {
moreDataCount = 0;
new DataThread().start();
story_entrys.addAll(story_entrys);
//adapter.notifyDataSetChanged();
// should call onDropDownComplete function of DropDownListView
// at end of drop down complete.
SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
articles_list.onDropDownComplete(getString(R.string.update_at)
+ dateFormat.format(new Date()));
} else {
moreDataCount++;
new DataThread().start();
story_entrys.addAll(story_entrys);
//adapter.addNewData(story_entrys);
System.out.println("页数:" + moreDataCount + "####"
+ story_entrys.size());
if (moreDataCount >= MORE_DATA_MAX_COUNT) {
articles_list.setHasMore(false);
}
// should call onBottomComplete function of DropDownListView at
// end of on bottom complete.
articles_list.onBottomComplete();
}

super.onPostExecute(result);
}
}

private class DataHandler extends Handler {

@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case success:
MyAdapter mAdapter =new MyAdapter(story_entrys);
articles_list.setAdapter(mAdapter);
mAdapter.addNewData(story_entrys);
break;
case fail:
Toast.makeText(DropDownListViewDemo.this, "获取数据失败",
Toast.LENGTH_SHORT).show();
default:
break;
}
}

}

// 定义自己的适配器
private class MyAdapter extends BaseAdapter {
private List<Story_entryC> mData;

public MyAdapter(List<Story_entryC> data){
mData = data;
}

@Override
public int getCount() {
return mData.size();
}

@Override
public Object getItem(int position) {
return mData.get(position);