在我的代码中,我有2个活动,第一个是“ telaInicial”(用作菜单的导航抽屉),当我单击“ criarAnalise”时,转到另一个名为“ Analise”的活动,在Analise活动中我有4个活动空白图像,当用户按下某个按钮时,图像1或2或3或4将其更改为另一图像。
我还有一个使用“ finish()”的按钮,因此用户可以返回到第一个活动。我想做一些事情来保存图像,即使关闭活动“ Analise”后也是如此,因此,如果用户再次进入该活动,则他选择的图像将在那里,而不是空白。
分析活动:
public boolean onNavigationItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.reator1) {
fotoequipamento=R.drawable.reatorcomaquecimento;
Toast.makeText(Analise.this,"Equipamento adicionado com sucesso.", Toast.LENGTH_SHORT).show();
enviarImg1();
} else if (id == R.id.reator2) {
fotoequipamento=R.drawable.reatorfluidizado;
Toast.makeText(Analise.this,"Equipamento adicionado com sucesso.", Toast.LENGTH_SHORT).show();
enviarImg1();
} else if (id == R.id.tanque1) {
fotoequipamento=R.drawable.tanquecilindrico;
Toast.makeText(Analise.this,"Equipamento adicionado com sucesso.", Toast.LENGTH_SHORT).show();
enviarImg1();
} else if (id == R.id.tanque2) {
fotoequipamento=R.drawable.tanqueesferico;
Toast.makeText(Analise.this,"Equipamento adicionado com sucesso.", Toast.LENGTH_SHORT).show();
enviarImg1();
} else if (id == R.id.caminhao) {
fotoequipamento=R.drawable.caminhaotransp;
Toast.makeText(Analise.this,"Equipamento adicionado com sucesso.", Toast.LENGTH_SHORT).show();
enviarImg1();
} else if (id == R.id.voltar) {
finish();
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
public void enviarImg1{
//HERE THE USER WILL CHOOSE WHAT PICTURE HE WANTS TO PLACE WHERE
if ((int) equipamento1.getTag() == R.drawable.branco) {
equipamento1.setImageResource(fotoequipamento);
equipamento1.setTag(fotoequipamento);
botaoapagar1.setVisibility(View.VISIBLE);}
else if ((int) equipamento2.getTag() == R.drawable.branco) {
equipamento2.setImageResource(fotoequipamento);
setapreta1.setVisibility(View.VISIBLE);
equipamento2.setTag(fotoequipamento);
botaoapagar2.setVisibility(View.VISIBLE);}
else if ((int) equipamento3.getTag() == R.drawable.branco) {
equipamento3.setImageResource(fotoequipamento);
setapreta2.setVisibility(View.VISIBLE);
equipamento3.setTag(fotoequipamento);
botaoapagar3.setVisibility(View.VISIBLE);}
else if ((int) equipamento4.getTag() == R.drawable.branco) {
equipamento4.setImageResource(fotoequipamento);
setapreta3.setVisibility(View.VISIBLE);
equipamento4.setTag(fotoequipamento);
botaoapagar4.setVisibility(View.VISIBLE);} else {Toast.makeText(Analise.this,"Espaço indisponível no diagrama.", Toast.LENGTH_SHORT).show();} }
}
我尝试使用saveinstance,但是我不知道如何。
答案 0 :(得分:0)
您可以按用户将所有选择的图像保存在mainActivity之类的全局变量中,也可以将其保存在应用程序类变量中,或者使用众所周知的sharedpreference
存储数据,以供以后使用,即使在一段时间或几天后重新启动应用程序。您可以从sharedpreference
恢复选定的图像。
另一方面,诸如mainActivity
之类的全局变量或应用程序类变量将存储数据,直到应用程序关闭。当应用程序关闭或被另一个应用程序或操作系统杀死时,您将丢失数据。