मुझे आश्चर्य है कि कोई मेरी मदद कर सकता है या नहीं। जब एसएमएस प्राप्त होता है तो मैं टोस्ट तत्व प्रदर्शित करने की कोशिश कर रहा हूं। यह टोस्ट एक लेआउट जो एक छवि (एसएमएस चिह्न) और 2 textviews (प्रेषक, संदेश)ब्रॉडकास्ट रिसीवर से जटिल टोस्ट दिखाएं
अगर मैं एक गतिविधि से निम्न विधि कहते हैं, यह काम करता है के रूप में उम्मीद है ... शामिल करना चाहिए
public void showToast(Context context, String name, String message) {
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.toast_sms,
(ViewGroup) findViewById(R.id.toast_sms_root));
TextView text = (TextView) layout.findViewById(R.id.toastsms_text);
text.setText(message);
Toast toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
}
हालांकि, अगर मैं अपने SMSReceiver से उसी तरह से एक ही कोड कॉल करने के लिए प्रयास करते हैं, मैं:
The method getLayoutInflater() is undefined for the type SmsReceiver
The method findViewById(int) is undefined for the type SmsReceiver
The method getApplicationContext() is undefined for the type SmsReceiver
किसी कृपया सलाह सकते हैं कि कैसे मैं एक इरादे से tihs कर सकते हैं। मुझे लगता है कि समस्या किसी भी तरह से क्रॉस-थ्रेडिंग से संबंधित है, हालांकि, मुझे यकीन है कि आगे बढ़ना कैसे है। मैं उदाहरण के एक जोड़े को देखा है ऑनलाइन लेकिन वे या तो उपयोग कोड पदावनत करने के लिए या केवल साधारण पाठ प्रदर्शित लगते
किसी कृपया मुझे सही दिशा में
बहुत धन्यवाद
किसी भी कारण/downvote के लिए रचनात्मक आलोचना? – Basic