Я работаю над приложением, и из представления списка создаю пакет, включающий выбранный элемент и предыдущий элемент. То, что мне нужно определить, - это если предыдущий элемент действительно попадает в комплект. Если он существует, я хочу эту информацию, но если она не существует, то мне нужно настроить мои текстовые представления, чтобы это отразить. Но я получаю исключение с нулевым указателем, если оно не существует при попытке загрузить принимающую операцию (активность связывания не вызывает аварии, как я обнаружил во время отладки - я добираюсь до точки, где я тестирую данные в перед сбоем). Поэтому я включил код из принимающей активности.Проверка наличия части пакета в Android
Bundle evmBundle = this.getIntent().getExtras();
final EVMData evm = (EVMData) evmBundle.getSerializable("evm");
final Project project = (Project) evmBundle.getSerializable("project");
if (!evmBundle.getSerializable("prvEVM").equals(null)){
final EVMData prvEvm = (EVMData) evmBundle.getSerializable("prvEVM");
edtPrvAC = (TextView) findViewById(R.id.edtPrvEVMAC);
edtPrvAC.setText(prvEvm.getAc().toString());
}
else{
edtPrvAC = (TextView) findViewById(R.id.edtPrvEVMAC);
edtPrvAC.setText("0");
}
Я знаю, что-то становится проходит через в пачке для «prvEVM», потому что он показал, как часть пучка в отладчике.
Я также попытался сначала вытащить его из комплекта, а затем попытаться сравнить его. После извлечения его из пучка, prvEvm равно нулю (смотрит на переменных в отладчике), так что я думал, что что-то подобное может работать:
if (!prvEvm.equals(null)){
edtPrvAC = (TextView) findViewById(R.id.edtPrvEVMAC);
edtPrvAC.setText(prvEvm.getAc().toString());
}else{
edtPrvAC = (TextView) findViewById(R.id.edtPrvEVMAC);
edtPrvAC.setText("0");
}
Но я получаю NullPointerException, потому что prvEvm является Null. Поэтому я попытался перевернуть тест if, но получил те же результаты. Я должен отметить, что независимо от того, как я это установил, если prvEvm не является нулевым, все конфигурации здесь работают - запрошенные данные помещаются в TextView. В принципе, мне нужно иметь возможность обойти это исключение нулевого указателя. Я знаю, что объект имеет значение null, я хочу проверить его, чтобы, если он есть, этот объект не используется. Он будет только один раз.
Иногда я просто чувствую себя очень глупо, когда ответ такой легкий. Спасибо! Сохраняет мне чтение базы данных (которое я только что закончил код и проверил, когда увидел это). Я ценю вашу помощь! –