今天,我要将一些数据发送到处理程序,以便对 OpenFeint 方法进行非静态调用。返回点之前一切正常,但我不知道如何检索信息。
主类中的方法调用:
public static float getPercentageAchievement(String idAchievement) {
Message msg = new Message();
msg.what = OpenFeintXHandler.GET_PERCENTAGE_ACHIEVEMENT;
Bundle args = new Bundle();
args.putString(BUNDLE_ARG_1, idAchievement);
msg.setData(args);
ms_kOpenFeintHandler.sendMessage(msg);
return msg.getData().getFloat(BUNDLE_RETURN); // msg is empty here
}
处理程序类中的消息处理:
case GET_PERCENTAGE_ACHIEVEMENT:
msg.getData().putFloat(
OpenFeintX.BUNDLE_RETURN,
otherGetPercentageAchievement(msg.getData().getString(
OpenFeintX.BUNDLE_ARG_1)));
break;
处理程序类中的测试方法:
private float otherGetPercentageAchievement(String idAchievement) {
return 200;
}
最佳答案
你可以设置这种格式的数据
在设置数据时
Message msg = new Message();
msg.obj = data which you want to set // for object data
Msg.arg1 = data which you want to set // for integer data
获取数据时
String data = (String) msg.obj; // If object is of String
int integerData = msg.arg1;
msg.arg1
一次只传一个数据 你也可以传msg.arg2
都是整型
关于android - 从消息中获取返回数据到 Android 处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10447574/