Galera, como faço para trabalhar com objetos entre activities: Trabalhar com int, Double, String eu consigo através dos métodos:
intent.putExtra("nome", name);
intent.putExtra("age", age);
name = getIntent().getStringExtra("nome");
age = getIntent().getIntExtra("age" , 0);
Estou criando uma lista de clientes para um trabalho em particular e criei um vetor de clientes no “MainActivity”, eu até consegui enviar ele utilizando: intent.putExtra("clientes", clientes);, porém não consigo buscá-lo na Activity2. Comecei a estudar programação Mobile há 2 dias, por favor me ajudem!
Sei que minha resposta está atrasada e provavelmente você ja resolveu o problema, mas deixo para quem pesquisar sobre o problema e cair aqui:
na MainActivity:
em vez de Cliente[] clientes = new Cliente[15];
utilize: ArrayList<Cliente> clientes = new ArrayList<>();
considerando que a substituição acima foi feita:
em vez de if (clientes[0] == null)
utilize: if clientes.isEmpty(); // => Se clientes estiver vazio
caso PRECISE que seja no máximo 15:
em vez de: else if (clientes[14] != null)
utilize: if(clientes.size == 15) // => se a quantidade de itens em clientes for igual a 15
para enviar o ArrayList:
Intent intent = new Intent(MainActivity.this, Activity1.class);
//considerando que estas variáveis do 2º parâmetro existem na sua MainActivity
intent.putExtra("nome", name;
intent.putExtra("age", age);
intent.putExtra("arrayClientes", clientes); //este é o ArrayList criado
startActivity(intent);
na Activity1:
crie o mesmo tipo de objeto: ArrayList<Cliente> clientes = new ArrayList<>();
dentro do método onCreate() adicione:
Intent intent = getIntent();
// Em vez de getStringExtra ou getIntExtra, utilize: (casting) getSerializableExtra
name = (String) intent.getSerializableExta("nome");
age = (int) intent.getSerializableExtra("age");
clientes = (ArrayList<Cliente>) intent.getSerializableExtra("arrayClientes");