gpt4 book ai didi

android - 如何将最新数据 append 到 android 中的自定义基本适配器 ListView ?

转载 作者:太空宇宙 更新时间:2023-11-03 12:23:08 25 4
gpt4 key购买 nike

我已经实现了一个带有自定义基本适配器的应用程序,用于在 ListView 中显示数据。在我的应用程序中,我通过使用自定义基本适配器显示了一些内容以 ListView ,这些内容将来自 Web 服务。我使用了一个按钮来获取来自服务的最新数据。当我从服务获取最新数据时,我想将最新数据 append 到底部的 ListView ,而不删除 ListView 中的先前数据。

我已经按如下方式实现了我的应用程序:

  result = new ParseXml().convertMessages(new Model().getMessages("0"));
count = Integer.parseInt(result.get(0).getMessageID());
((Button)findViewById(R.id.oldMessagesButton)).setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

fetchNewMessages();

}
});



protected void fetchOldMessages() {
// TODO Auto-generated method stub
waitProgreess = ProgressDialog.show(this, "Please wait", "Loading...");
new Thread() {
public void run() {
try {

Thread.sleep(800);
} catch (InterruptedException e) {
}
newmessageHandler.sendEmptyMessage(0);
}
}.start();
}


private Handler newmessageHandler = new Handler() {

public void handleMessage(Message msg) {
super.handleMessage(msg);

Log.v("000000", "count :"+count);
if(count>0){
newmsgResult = new ParseXml().convertMessages(new Model().getNewMessages(""+count));

CustomeAdapter adapter = new CustomeAdapter(GetMsgsScreen.this,newmsgResult);
lst.setAdapter(adapter);
adapter.notifyDataSetChanged();
count=Integer.parseInt(newmsgResult.get(oldmsgResult.size()-1).getMessageID());
}
waitProgreess.dismiss();
}
};

我已经根据用户点击按钮计数值实现了上述代码,该值将被发送到服务,然后从服务获取最新信息。当我从服务获取最新列表时,该列表将 append 到 ListView 。

从上面的代码我只能得到最新的以前的正在删除。

在上述情况下,如何将最新数据(列表) append 到 ListView ?

请任何人帮助我....

最佳答案

    CustomeAdapter adapter = new CustomeAdapter(GetMsgsScreen.this,newmsgResult);

在类的顶部定义此适配器和newmsgResult..不是类中的局部变量..

现在,每当您想更新 ListView 中的数据时,更新 newmsgResult 中的值/数据并调用 adapter.notifyDataSetChanged()

关于android - 如何将最新数据 append 到 android 中的自定义基本适配器 ListView ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9596012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com