У меня проблема с моим проектом в Android Studio.То, что я пытаюсь сделать, это когда я нажимаю кнопку (что открывает другое действие), и в этом действии я пишу данные от человека.Затем я сохраняю эти данные, и приложение возвращается к основному.Следующая кнопка создает тост, который показывает данные от человека, но тост возвращает мне ноль.Я не знаю, что я делаю неправильно.
public class PrincipalActivity extends AppCompatActivity implements View.OnClickListener {
Button btnObreActivitat1, btnToastDadesPersona;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_principal);
btnObreActivitat1 = findViewById(R.id.btnObreActivitat1);
btnObreActivitat1.setOnClickListener(this);
btnToastDadesPersona = findViewById(R.id.btnToastDadesPersona);
btnToastDadesPersona.setOnClickListener(this);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
if (resultCode == RESULT_CANCELED) {
Toast.makeText(this, "Resposta invalida", Toast.LENGTH_SHORT);
} else {
switch (requestCode) {
case 5:
setTitle(data.getStringExtra("RESPOSTA"));
break;
}
}
}
@Override
public void onClick(View v) {
Intent intencio;
StringBuilder sbUri = new StringBuilder();
switch (v.getId()){
case R.id.btnObreActivitat1:
intencio = new Intent(this,Activitat1.class);
startActivityForResult(intencio,5);
break;
case R.id.btnToastDadesPersona:
intencio = getIntent();
String nom = intencio.getStringExtra("NOM");
String cognom = intencio.getStringExtra("COGNOM");
String sexe = intencio.getStringExtra("SEXE");
Toast torrada = new Toast(this);
LayoutInflater inflador = getLayoutInflater();
View vista = inflador.inflate(R.layout.torrada,null);
TextView tvMissatge = vista.findViewById(R.id.tvMissatge);
tvMissatge.setText("Nom: " + nom + "\nCognom: " + cognom + "\nSexe: " + sexe);
torrada.setView(vista);
torrada.setDuration(Toast.LENGTH_SHORT);
torrada.show();
break;
}
}
@Override
protected void onStart() {
super.onStart();
}
@Override
protected void onResume(){
super.onResume();
}
@Override
protected void onPause() {
super.onPause();
}
@Override
protected void onStop() {
super.onStop();
}
}
// Следующее действие, где я пишу данные:
public class Activitat1 extends AppCompatActivity {
final static String nom = "NOM";
final static String cognom = "COGNOM";
final static String sexe = "SEXE";
Button btnEnviar, btnCancelar;
EditText etNom, etCognom;
RadioButton rbtSexe;
RadioGroup rgpSexe;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_activitat1);
etNom = findViewById(R.id.etNom);
etCognom = findViewById(R.id.etCognom);
btnEnviar = findViewById(R.id.btnEnviar);
btnCancelar = findViewById(R.id.btnCancelar);
rgpSexe = findViewById(R.id.rgpSexe);
rbtSexe = findViewById(rgpSexe.getCheckedRadioButtonId());
btnEnviar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intencio = Activitat1.this.getIntent();
intencio.putExtra(nom, etNom.getText().toString());
intencio.putExtra(cognom, etCognom.getText().toString());
intencio.putExtra(sexe,rbtSexe.getText().toString());
startActivity(intencio);
}
});
btnCancelar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setResult(RESULT_CANCELED);
finish();
}
});
}
}