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);
        };                                                                                    

    };

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。