//获取好友分组的线程
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
Map<String, Object> params = new HashMap<String, Object>();
map = new HashMap<String, Object>();
friendGroup = new ArrayList<FriendGroup>();
friendList = new ArrayList<FriendGroup>(); params.put("ID", LoginActivity.userID);
//获取用户组的输入流
InputStream group_is = WebServer.hcPostData("GetFriendGroup",
"FriendApp.ashx", params);
InputStream friends_is = WebServer.hcPostData("GetFriendList",
"FriendApp.ashx", params); parser = new XMLParser();
try {
friendGroup = parser.FriendGroupParser(group_is);
friendList = parser.FriendGroupParser(group_is); Message message = new Message();
message.obj = friendGroup;
mHandler.sendMessage(message);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}).start(); private Handler mHandler = new Handler() {
@SuppressWarnings("unchecked")
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
friendGroup = (ArrayList<FriendGroup>) msg.obj;
GetAllFriend();
super.handleMessage(msg);
} };
这是我想到的,但是一个handler只能处理一个message啊!但是我有两个对象obj,一个FriendGroup,一个FriendList,只能处理一个怎么办呢?
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
Map<String, Object> params = new HashMap<String, Object>();
map = new HashMap<String, Object>();
friendGroup = new ArrayList<FriendGroup>();
friendList = new ArrayList<FriendGroup>(); params.put("ID", LoginActivity.userID);
//获取用户组的输入流
InputStream group_is = WebServer.hcPostData("GetFriendGroup",
"FriendApp.ashx", params);
InputStream friends_is = WebServer.hcPostData("GetFriendList",
"FriendApp.ashx", params); parser = new XMLParser();
try {
friendGroup = parser.FriendGroupParser(group_is);
friendList = parser.FriendGroupParser(group_is); Message message = new Message();
message.obj = friendGroup;
mHandler.sendMessage(message);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}).start(); private Handler mHandler = new Handler() {
@SuppressWarnings("unchecked")
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
friendGroup = (ArrayList<FriendGroup>) msg.obj;
GetAllFriend();
super.handleMessage(msg);
} };
这是我想到的,但是一个handler只能处理一个message啊!但是我有两个对象obj,一个FriendGroup,一个FriendList,只能处理一个怎么办呢?
解决方案 »
- LinearLayout里上下两个TextView,希望下边的这个,跟上边那个右对齐。怎么做?
- 【求助】怎么定义按钮数组
- OpenGL ES 与Canvas绘制2d图片哪个效率快?
- 如何用正则表达式过滤掉除了某个标签以外的所有的xml标签
- 关于R文件不自动生成id
- 请问2.6内核的这几个新event: ABS_TOOL_WIDTH, BTN_TOOL_FINGER, 是什么意思?
- 大家如何看一个大程序的代码?
- JAVA中如何向SQL数据保存图片文件
- Serial-Port-API相关 几个简单问题 求解答
- 输入法把布局挤跑了
- 为什么用LocationManager获得的location转换成GeoPoint显示在地图上,和谷歌地图显示的位置相差很大?
- 构造函数和onCreate()函数有什么区别?
message.what = 1;
及
message.what = 2;然后在
handleMessageswitch(msg.what)
{
case 1:
.....
break;
case 2:
.....
break;
}
static final int SEND_LIST = 2;
handledmessage public void handleMessage(Message msg) {
switch(msg.what){
case SEND_GROUP :
// TODO Auto-generated method stub
friendGroup = (ArrayList<FriendGroup>) msg.obj;
GetAllFriend();
super.handleMessage(msg);
break;
case SEND_LIST:
//接收list
break;
}
}
如果这样的话,要sendmessage两次,一次是group一次是list或者再建个HashMap也行吧,map不是可以put进去object吗,都放这里面传过来