JAVA message.setData(bundle); 的用法 求教

JAVA message.setData(bundle); 的用法 求教

问题描述:

message.what = 02234;
Bundle bundle = new Bundle();
bundle.putString("e1", String.valueOf(e1));
System.out.println(e1);
message.setData(bundle);
handler.sendEmptyMessage(message.what);

                    private Handler handler = new Handler() {
    @Override
    public void handleMessage(Message msg) {

        if (msg.what == 02234) {
            Bundle bundle = msg.getData();
            String timeout = bundle.getString("e1");
            System.out.println(timeout);
            Toast.makeText(MainActivity.mactivity, "timeout="+timeout, Toast.LENGTH_SHORT).show();
        }
    }
};

这是我的发消息和接受代码 信息没有收到timeout值为空,请问怎么解决呀。。如何正确的把值传入

如果你有进到if里面的话,你的sendEmptyMessage方法只传入了what的值,没有把整个message传进去,也就是没有了data的值,所以你应该把sendEmptyMessage的参数改成message对象,或者重新写个参数为message对象的方法

handler.sendMessage(message.what);