【发布时间】:2020-02-04 19:04:10
【问题描述】:
我经常崩溃
Fatal Exception: java.lang.RuntimeException
Unable to start activity ComponentInfo{com.example.phocast/com.example.phocast.MainActivity}: java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.String java.lang.CharSequence.toString()' on a null object reference
AndroidStudio 也显示Method invocation .toString may produce NullPointException
我的代码是:
public class SunFragment extends Fragment {
ArrayList<Object> sunsList;
Typeface sunfont;
Double Dlat;
Double Dlang;
private AdView mAdView;
//to be called by the MainActivity
public SunFragment() {
// Required empty public constructor
}
private static final String KEY_LOCATION_NAME = "location_name";
public String TAG = "SunFragment";
public String location;//="No location name found";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
location = savedInstanceState.getCharSequence(KEY_LOCATION_NAME).toString();
} else {
location = "";
}
}
既然我已经在检查savedInstanceState,我还能检查什么?
【问题讨论】:
-
在
savedInstanceState上调用.getCharSequence(KEY_LOCATION_NAME)似乎返回null。 -
savedInstanceState.getCharSequence(KEY_LOCATION_NAME)为空。对整个表达式进行空检查。 -
是的,但我已经尝试检查该字符序列是否也不为空,并且没有任何变化
标签: java android nullpointerexception