Android Studioで作成したサービスでこの問題が発生しました。firebaseサービスでメソッド 'findViewById(int)'を解決できません
私は新しいサービスを作成し、それがの.javaファイルで、私はこのservice.I内findViewById使用することはできません私は内部が何とかMainActivityを参照する必要があります考えて、私は知りませんどのようにそれを行うには、私はいくつかの間違いがある場合いくつかの助けが必要です。私はAndroid Developingの初心者です。 ありがとうございます。
これは、私はあなたがサービスからではなく、活動からUIを更新するべきではありませんが、あなたは本当に、あなたがしようとする前に、1つのステップを実行する必要がありする必要がある場合
package com.example.qkiri.buttonnum;
import android.app.Activity;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage;
import static android.content.ContentValues.TAG;
public class MessageRec extends FirebaseMessagingService {
public MessageRec(MainActivity mainActivity) {
}
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
int number;
Log.d(TAG, "From: " + remoteMessage.getFrom());
number = 23;
final TextView txtView2 = (TextView) findViewById(R.id.service);
txtView2.setText(number);
if (remoteMessage.getData().size() > 0) {
Log.d(TAG, "Message data payload: " + remoteMessage.getData());
}
if (remoteMessage.getNotification() != null) {
Log.d(TAG, "Message Notification Body: " +
remoteMessage.getNotification().getBody());
}
}
}
を使用すると、アクティビティインスタンスを使用した場合でも、まだレイアウトを見つけることができない場合があります。..活性に対するBroadcastReceiverを実装すると、更新するための正しい方法でありますUI –
サービスバディの場合は間違った使い方。クリケットが示唆していることに従ってください。 – hepizoj