I have MainActivity: public class MainActivity extends Activity {
private ArrayList<Antrenament> listaAntr = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Antrenament a1 = new Antrenament("forta","12/06/2019",50,"Andrei");
    listaAntr.add(a1);
    Button bAdd = (Button) findViewById(R.id.buttonAdd);
    Button bLista = (Button) findViewById(R.id.buttonList);
    bAdd.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(getApplicationContext(), AdaugareAntrenament.class);
            intent.putParcelableArrayListExtra("listaant",listaAntr);
            startActivityForResult(intent,1);
        }
    });
    bLista.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(getApplicationContext(), ListaAntr.class);
            intent.putParcelableArrayListExtra("listaant",listaAntr);
            startActivityForResult(intent,1);
        }
    });
    Intent intent2 = getIntent();
    listaAntr = intent2.getParcelableArrayListExtra("listaantr");
}
}
I want to send the list of objects Antrenament name listaAntr to AdaugareAntrenament activity, where I want to create a new Antrenament object, add it to the list and then send back the list to mainactivity. This updated list I want to send afterward to ListaAntr Activity, from mainactivity.
AdaugareAntrenament activity:
public class AdaugareAntrenament extends Activity {
 ArrayList<Antrenament> listaAntr1=new ArrayList<>();
//private Button add;
 EditText etcateg, etdurata, etinstr,etdata;
List<String> listacateg=new ArrayList<>();
Spinner spinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_adaugare_antrenament);
    Intent intent = getIntent();
   listaAntr1 = intent.getParcelableArrayListExtra("listaant");
    Button add = findViewById(R.id.buttonSave);
    etdurata=findViewById(R.id.editTextDurata);
    etinstr=findViewById(R.id.editTextInstructor);
    etdata=findViewById(R.id.editTextData);
    spinner=findViewById(R.id.spinner);
    listacateg=new ArrayList<>(Arrays.asList(getResources().getStringArray(R.array.categ)));
    ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,listacateg);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);
    add.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String categorie,instructor,data;
            int durata;
            durata = Integer.parseInt(etdurata.getText().toString());
            instructor = etinstr.getText().toString().trim();
            data = etdata.getText().toString().trim();
            categorie = spinner.getSelectedItem().toString().trim();
            if(TextUtils.isEmpty(instructor)) {
                etinstr.setError("Introduceti numele instructorului");
                return;
            }
            if(TextUtils.isEmpty(data)) {
                etdata.setError("Introduceti data programarii");
                return;
            }
                Antrenament antr = new Antrenament(categorie, data, durata, instructor);
                listaAntr1.add(antr);
                Intent intent=new Intent(getApplicationContext(), MainActivity.class);
                intent.putParcelableArrayListExtra("listaantr",listaAntr1);
        }
    });
}
For the moment I get that error when I try to create the Antrenament object.. but this after some changes, because my code doesn't even send the updated list back to main activity.
Current error:
 java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.util.ArrayList.add(java.lang.Object)' on a null object reference
        at com.example.ancaa.rezolvarerestanta20181.AdaugareAntrenament$1.onClick(AdaugareAntrenament.java:78)
The error points to the line :
  listaAntr1.add(antr);
and ListaAntr Activity:
public class ListaAntr extends Activity {
public ArrayList<Antrenament> listaAntr = new ArrayList<>();
public ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_lista_antr);
    lv = (ListView)findViewById(R.id.lista);
    Intent intent = getIntent();
    listaAntr = intent.getParcelableArrayListExtra("listaantr");
    ArrayAdapter<Antrenament> adapter=new ArrayAdapter<Antrenament>(this,android.R.layout.simple_list_item_1,listaAntr);
    lv.setAdapter(adapter);
}
}
Here the content of the arraylist should be shown as a listview.
 
    