Galera sou iniciante em java e estou com o seguinte problema, tenho 4 categorias diferentes, e para cada categoria tenho um hashmap diferente, ao clicar em uma categoria preciso sortear os elementos que estão naquele map, meu código esta assim:
public class MainActivity extends AppCompatActivity implements OnClickListener {
private Button btnAlimento;
private Button btnClasseJava;
private Button btnEsporte;
private Button btnProfs;
private Map<String, String> alimento;
private Map<String, String> classeJava;
private Map<String, String> esportes;
private Map<String, String> profissoes;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnAlimento = (Button) findViewById(R.id.btnAlimento);
btnClasseJava = (Button) findViewById(R.id.btnClasseJava);
btnEsporte = (Button) findViewById(R.id.btnEsportes);
btnProfs = (Button) findViewById(R.id.btnProfissoes);
btnAlimento.setOnClickListener(this);
btnClasseJava.setOnClickListener(this);
btnEsporte.setOnClickListener(this);
btnProfs.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnAlimento:
alimento = new HashMap<String, String>();
alimento.put("1", "ARROZ");
alimento.put("2", "FEIJAO");
alimento.put("3", "BATATA");
sorteiaPalavras(alimento);
break;
case R.id.btnClasseJava:
classeJava = new HashMap<String, String>();
classeJava.put("1", "DATE");
classeJava.put("2", "BUNDLE");
classeJava.put("3", "LIST");
sorteiaPalavras(classeJava);
break;
}
}
public void sorteiaPalavras(Map map) {
JogoActivity jogoActivity = new JogoActivity();
Random random = new Random();
Object[] values = map.values().toArray();
Object randomValue = values[random.nextInt(values.length)];
jogoActivity.palavraSecreta = (randomValue).toString();
Intent intent = new Intent(this, JogoActivity.class);
intent.putExtra("palavra",jogoActivity.palavraSecreta);
startActivity(intent);
}
}
assim que eu executo ele me da o seguinte erro:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.alan.jogoforcafinal, PID: 13584
java.lang.NullPointerException: Attempt to invoke interface method ‘java.lang.Object java.util.Map.put(java.lang.Object, java.lang.Object)’ on a null object
Alguém poderia me ajudar?