отправить сообщение на handlerthread - PullRequest
0 голосов
/ 16 ноября 2018

Задача проста. Все, что я хочу сделать, это отправить сообщение из MainActivity в собственный HandlerThread.

Весь код прикреплен и прокомментирован .

MyHandlerThread

public class MyHandlerThread extends HandlerThread implements Handler.Callback {

private static final String TAG = "MyHandlerThread";

public MyHandlerThread(String name) {
    super(name);
    Log.i(TAG,this.getName());
}

/**
 * @param msg A {@link Message Message} object
 * @return True if no further handling is desired
 */
@Override
public boolean handleMessage(Message msg) {
    Log.i(TAG,Integer.toString(msg.arg1)); //The message sent from MainActivity dosent end up here. Why?
    Log.i(TAG,Integer.toString(msg.arg2));
    return false;
}
}

MainActivity

class MainActivity : AppCompatActivity() {

private val TAG = "MainActivity"
private val workerThread = MyHandlerThread("MyThread");


override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    //setContentView(R.layout.activity_main)
    setContentView(R.layout.gauge_layout);
    workerThread.start()



    val mHandler: Handler = Handler(workerThread.looper) //Attach a handler to the MyHandlerThread looper

    var msg = mHandler.obtainMessage() // Get a message from the MyHandlerThread messageque
    msg.arg1 = 12 //Just add some int
    msg.arg2 = 99
    mHandler.sendMessage(msg) //Where is this message sent? The .sendMessage() returns true. It dosent end up in MyHandlerThread handleMessage()
}
}

Я не получаю никаких ошибок, и .sendMessage возвращает true. Но я не знаю, куда он отправляется или почему он не попадает в сообщение-дескриптор MyHandlerThread.

Надеюсь, кто-то может помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...