简体   繁体   English

Java Android:子类,来自主活动类的Call方法导致NullPointerException

[英]Java Android : Subclass, Call method from main activity class caused NullPointerException

i want to call function from subclass to main activity class. 我想从子类到主要活动类调用函数。 here is my source code : SMS.java 这是我的源代码:SMS.java

public class SMS extends ListActivity {
    public void testerr(String kata) {
        Toast.makeText(getBaseContext(), "test coyyyy="+kata, Toast.LENGTH_LONG).show();
    }
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        }
}

SMSReceiver.java SMSReceiver.java

public class SmsReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Bundle bundle = intent.getExtras();
        SmsMessage[] msgs = null;
        String str = "";
        try {
            if (bundle != null) {
                Object[] pdus = (Object[]) bundle.get("pdus");
                msgs = new SmsMessage[pdus.length];
                for (int i = 0; i < msgs.length; i++) {
                    msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
                    str += "SMS from " + msgs[i].getOriginatingAddress();
                    str += " :";
                    str += msgs[i].getMessageBody().toString();
                    str += "\n";
                }
                Toast.makeText(context, str, Toast.LENGTH_LONG).show();
                SMS sss = new SMS(); ---> call the main class
                sss.testerr("try the words"); ---> call method from main class
                Toast.makeText(context, str, Toast.LENGTH_LONG).show();
            }
        }
        catch(NullPointerException ex){
            Toast.makeText(context, "penyakite neng kene:"+ex.getMessage(), Toast.LENGTH_LONG).show();
        }
    }
}

my program run after it receive new text message, and i always get NullPointerException when call that sss.testerr("my example words"); 我的程序在收到新的文本消息后运行,并且在调用sss.testerr(“ my example words”)时始终会收到NullPointerException; any clue guys? 有什么线索吗? thankyou so much for your help 非常感谢你的帮助

You should not instantiate the Activity with it's constructor, either start it with an intent, or, if the Activity is already up, make it implement the broadcast receiver. 您不应该使用其构造函数实例化Activity,不要以意图将其启动,或者,如果Activity已经启动,则使其实现广播接收器。

If you only want to show toast from your receiver, you can use the answer for this question 如果您只想向接收者展示烤面包,则可以使用此问题的答案

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何从android中的普通类调用main_activity的方法 - how to call a method of a main_activity from a normal class in android 从主活动类向非活动类调用方法java.lang.RuntimeException - Call a method from the main activity class to a non activity class java.lang.RuntimeException 来自另一个类的android调用方法nullpointerexception - android call method from another class nullpointerexception Android / Java:Java:调用java.lang.Class.getSimpleName时,由NullPointerException引起的ExceptionInInitializerError - Android/Java: Java: ExceptionInInitializerError caused by NullPointerException when call java.lang.Class.getSimpleName Android:如何从偏好活动类中调用主类的方法? - Android: How do I call a method of the main class from the preference activity class? 如何从 Helper 类调用 Main_Activity 类中的方法? - How to call the method in Main_Activity Class from Helper class? 从jar(不是main)调用java类方法 - Call java class method from jar (not main) Java:从另一个类的主方法调用主方法 - Java: Call a main method from a main method in another class 尝试在 java 的主 class 中打印子类方法 - Trying to print a subclass method in a main class in java 从Android活动类调用接口方法 - Call a interface method from Android activity class
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM