[英]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.