我进一Activity时,此界面开始会取服务器数据,然后显示到界面上来,所以当数据显示出来时,会有点加载时间,(默认情况下,界面右上角,有 刷新 二字)现需:
1 刚进界面时,当数据正在加载时,在界面右上角用一 正在刷新或正在加载的 图标 来提示,当数据加载完成后,又显示默认时的 刷新 二字
2 当页面数据加载完成后,再点击右上角的 刷新 处,右上角 又出现 正在刷新或正在加载的图片,直到数据加载完成这如何实现呀,能给个demo就更好, [email protected] thanks
1 刚进界面时,当数据正在加载时,在界面右上角用一 正在刷新或正在加载的 图标 来提示,当数据加载完成后,又显示默认时的 刷新 二字
2 当页面数据加载完成后,再点击右上角的 刷新 处,右上角 又出现 正在刷新或正在加载的图片,直到数据加载完成这如何实现呀,能给个demo就更好, [email protected] thanks
解决方案 »
- 奥克斯v900怎么不可以ROOT
- Android OS能不能在XP装有虚拟机的环境下编译通过?XP下虚拟机一般用那个?虚拟机上装的LINUX OS一般用那个版本?
- android out目录
- android 调用 C中文字符串
- android GridView菜单item 点击变换图片问题
- prelink-linux-arm.map这个文件谁能分析下他的作用?
- 问点关于Android makefile的问题~
- android studio中Button id值报错
- Android进程间通信的问题
- 【ARcore】如何实现动态3d模型与特定平面检测
- 求问,我想android开机不启动自带的界面,启动自己做的应用程序,该怎么做?
- 怎么让控件总在另一个控件上方位置显示。。
刚进入界面是从服务器读取数据,这个正在刷新或正在加载 可以用progressbar和handler,点击刷新是也通过查询服务器数据,然后更新到刚进入的界面,那么当点击刷新 那也就和刚进入界面相同 都是在从服务器读取数据,那么其功能和刚进入相同不知道是不是楼主的意思
pDialog = new ProgressDialog(ParkListActivity.this);
pDialog.setMessage("获取数据中,请稍等...");
handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
pDialog.dismiss();
if (msg.what == 0) { Toast.makeText(ParkListActivity.this, "获取数据失败", Toast.LENGTH_LONG)
.show();
} else {
if (msg.obj == null) {
Toast.makeText(ParkListActivity.this, "获取数据失败",
Toast.LENGTH_LONG).show();
} else {
ParkListReturnInfo parkListReturnInfo = null;
parkListReturnInfo = (ParkListReturnInfo) msg.obj;
if (parkListReturnInfo != null
&& parkListReturnInfo.getReturnCode() != null
&& parkListReturnInfo.getReturnCode().equals(
"0")) {
list1 = parkListReturnInfo.getParkListReturnData();
mantitle.setText(area+"区"+parkName+"共搜索到"+list1.size()+"个停车场");
if (list1 != null && list1.size() > 0) {
Map<String, Object> map;
Iterator<ParkListReturnData> it = list1
.iterator();
while (it.hasNext()) {
ParkListReturnData parkListReturnData1 = it
.next(); map = new HashMap<String, Object>();
map.put("name", parkListReturnData1
.getParkName());
map.put("sex", parkListReturnData1
.getFreeSeat());
map.put("dfs", parkListReturnData1
.getOrderFreeSeat());
map.put("aaa", parkListReturnData1
.getParkId());
System.out.println("88888888888"
+ parkListReturnData1.getParkId());
listput.add(map);
// parkListReturnData1.getParkId();
}
} listadapter = new ListAdapter(ParkListActivity.this,
listput);
listView.setAdapter(listadapter); } else {
Toast.makeText(ParkListActivity.this,
parkListReturnInfo.getReturnName(),
Toast.LENGTH_LONG).show();
}
} }
pDialog.dismiss();
}
}; pDialog.show();
QueryThread th = new QueryThread(this.handler);
th.start();
public class ParkListActivity extends CommonActivity {
ListView listView;
public static List<Map<String, Object>> listput; ListAdapter listadapter;
ProgressDialog pDialog;
TextView title;
TextView mantitle;
Handler handler;
@Override
public void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.park_list);
pDialog = new ProgressDialog(ParkListActivity.this);
pDialog.setMessage("获取数据中,请稍等...");
handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
pDialog.dismiss();
if (msg.what == 0) { Toast.makeText(ParkListActivity.this, "获取数据失败", Toast.LENGTH_LONG)
.show();
} else {
if (msg.obj == null) {
Toast.makeText(ParkListActivity.this, "获取数据失败",
Toast.LENGTH_LONG).show();
} else {
ParkListReturnInfo parkListReturnInfo = null;
parkListReturnInfo = (ParkListReturnInfo) msg.obj;
对后台的数据进行处理(省略)
} }
pDialog.dismiss();
}
}; pDialog.show();
QueryThread th = new QueryThread(this.handler);
th.start();
}class QueryThread extends Thread {
private Handler handler;
private ParkClient parkClient;
private ParkListReturnInfo parkListReturnInfo;
private ParkListInfo parkListInfo;
private Message msg; public QueryThread(Handler handler) {
this.handler = handler;
} @Override
public void run() {
msg = new Message();
parkListReturnInfo = parkClient.getParkList(parkListInfo);//获取后台数据
msg.obj = parkListReturnInfo;
msg.what = 1; } catch (Exception e) {
msg.what = 0; e.printStackTrace();
} finally {
handler.sendMessage(msg);
} }
}}参考下,希望对你有帮助