Android Handler值传递(文)

发送消息:

public static class TimeReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {

            String time = intent.getStringExtra("time");
            String contentDate = formatDate(time);

            Message msg = handler.obtainMessage();
            msg.obj = context;//发送context上下文
            msg.getData().putString("contentDate", contentDate);//发送内容
            handler.sendMessage(msg);

        }
    }

接收消息:

static Handler handler = new Handler() {
    

        public void handleMessage(Message msg) {
            Context context = (Context) msg.obj;
    
            String titles = null;
            String contents = null;
            String contentDate = msg.getData().getString("contentDate");
            Toast.makeText(context, contentDate ,
                    Toast.LENGTH_LONG).show();
        
            WordsManage wordManage = new WordsManage(context);
            // 从数据库中通过时间匹配查询数据
            wordManage.open();
            Cursor cursor = wordManage.selectByTime(contentDate);
            if (cursor != null && cursor.getCount() == 1) {
                while (cursor.moveToNext()) {
                    titles = cursor.getString(cursor.getColumnIndex("title"));
                    contents = cursor.getString(cursor
                            .getColumnIndex("content"));
                }
            }
            wordManage.close();
            mContent.setText(titles);
            mContent.setText(contents);
        };                                                                                    

    };
原文地址:https://www.cnblogs.com/zhujiabin/p/4260890.html