Не могу понять, как исправить ошибку s == null

я передаю данные между Активити через

mar = Integer.toString(mark);
Intent intent = new Intent(Test1_4.this, Test1_5.class);
intent.putExtra("mark", mar);
startActivity(intent);

на следующем экране получаю через

mar = getIntent().getStringExtra("mark");

и преобразую в int, тк этого требует задание

int mark = Integer.parseInt(mar);

именно на этом месте случается ошибка s == null. Я пробовал передавать не строки, а сразу int, но тогда будет ошибка Attempt to invoke virtual method 'int android.os.Bundle.getInt(java.lang.String)' on a null object reference


Ответы (1 шт):

Автор решения: Arty Morris

Перепишите свой код. Совсем не обязательно использовать строку при передаче

// посылка интента
Intent in2 = new Intent("_show_fragment");
in2.putExtra("_name_frag_2", 15.4f);
sendBroadcast(in2);

// принимающая сторона
IntentFilter _frag_intent = new IntentFilter();
_frag_intent.addAction("_show_fragment");
_change_frag = new BroadcastReceiver() {
@Override
  public void onReceive(Context context, Intent intent) {
     if (intent.getAction().equals("_show_fragment")) {
        try {
             float _name_frag2 = intent.getFloatExtra("_name_frag_2", 0);
            } catch (NullPointerException e) {
            }
        }
     }
  };
registerReceiver(_change_frag, _frag_intent);

В вашем случае можно использовать

int _name_frag2 = intent.getIntExtra("_name_frag_2", 0);
→ Ссылка