Android 使用BroadcastReceiver时出现NullPointerException
我在android屏幕上看到一条错误消息。这是航海日志-Android 使用BroadcastReceiver时出现NullPointerException,android,Android,我在android屏幕上看到一条错误消息。这是航海日志- 02-08 09:33:42.471: E/AndroidRuntime(11592): java.lang.RuntimeException: Unable to start receiver something.MainActivity$CancelReceiver: java.lang.NullPointerException 为什么程序在错误日志后工作正常?(程序未被终止) 当它第一次抛出广播时,会出现此错误 这是我代码的一部分
02-08 09:33:42.471: E/AndroidRuntime(11592): java.lang.RuntimeException: Unable to start receiver something.MainActivity$CancelReceiver: java.lang.NullPointerException
为什么程序在错误日志后工作正常?(程序未被终止)
当它第一次抛出广播时,会出现此错误
这是我代码的一部分
public static class CancelReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intents) {
intents.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
String OKorNOT = intents.getExtras().getString("OKorNOT");
String str = intents.getExtras().getString("something");
if(OKorNOT.equals("OK")){
//OKの場合
tv2.setText(str);
//this line may throws error.tv means TextView object findview already.
}else if(OKorNOT.equals("NOT")){
//NOTの場合
tv.setText("yeah");//this line also throws error
pushB.setText("NO!");
tv2.setText("");
}
怎么了
编辑。
此onReceive在静态类中
关于电视,tv2是
public class MainActivity extends Activity {
static TextView tv;
static TextView tv2;
static Button pushB;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
pushB = (Button)findViewById(R.id.button2);
tv = (TextView)findViewById(R.id.textView6);
tv2 = (TextView)findViewById(R.id.textView7);
}
}
我在onCreate中定义了对象。您只需打开调试模式,找出哪个是空指针。@user2027811是否提供任何反馈?如果你试过我编辑过的答案,它对你有用吗?@A--C我还是不行。我有另一份工作-.-@A--C还有一份。InputMainActivity==MainActivity.sorry.iknow,tv.settext()在另一个方法中正常工作。只有在onReceive、tv、tv2中为null。