Доступ к элементам пользовательского интерфейса из Сервисов и отправка данных в соответствии с ними - PullRequest
0 голосов
/ 24 мая 2019

В моей деятельности, скажем, у меня есть два элемента.1. Текстовое представление 2. Кнопка.При нажатии кнопки Intent Service запускается.В MainActivity я создал приемник подкласса, который расширяет ResultReceiver для извлечения данных из сервисов.

Итак, я хочу отправить данные «ABC», если TextView Text имеет значение «xyz» и если его «XYZ», то отправить"ABC".

Вот код.

backgroundService Class

MainActivity mainActivity = new MainActivity();
@Override
protected void onHandleIntent(Intent intent) {


   ResultReceiver resultReceiver = intent.getParcelableExtra("receiver");
   TextView t1 = (TextView) mainActivity.findViewById(R.id.textView);
    Bundle sendData = new Bundle();

    if(t1.getText().equals("ABC")) {
       sendData.putString("name", "XYZ");
       Log.i(Tag, "ABC Sends it");
   }
    else if(t1.getText().equals("XYZ")){
        sendData.putString("name", "ABC");
       Log.i(Tag, "XYZ Sends it");
    }

    resultReceiver.send(10, sendData);
}

Но это исключение.Вот изображение. Изображение-исключение

MainActivity

handler.post(new Runnable() {
                @Override
                public void run() {
                    TextView textView = (TextView )findViewById(R.id.textView);
                    textView.setText(resultData.getString("name"));
                }
            });
...