Привет, ребята, тогда в программе, которую вы видите ниже, я должен выполнить эту серию шагов:
1) Fragment1 (Rapportini) Я иду в Activity2 (Articoli)
2) выберите элемент и вернитесь к Fragment1 (Rapportini), передав значение в качестве намерения
3) метод OnActivityResult считывает намерение и добавляет его в массив
Моя проблема в том, что метод OnActivityResult не вызывается!Почему это происходит, как я могу это решить?
Упражнение 2 (Артиколи) - Код:
Articolo a = (Articolo) ArticoliRicerca.get(position);
Intent tabRapportini = new Intent(ArticoliActivity.this, RapportiniActivity.class);
tabRapportini.putExtra("articoloselezionato", a);
setResult(ArticoliActivity.RESULT_OK,tabRapportini);
System.out.println("\n Hai fatto tap \n");
finish();
Результат фрагмента (фрагмент Раппортини):
public class RapportiniActivity extends Fragment {
private View view;
private ArrayList ArticoloSelezionati = new ArrayList();
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
view = (View) inflater.inflate(R.layout.activity_rapportini, container, false);
return view;
}
@Override
public void onViewCreated(final View view, Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final Button btnGeneraRapportino = (Button) view.findViewById(R.id.buttongenera_rapportino);
final Button btnAggiungiArticoli = (Button) view.findViewById(R.id.button_inserimento_articoli);
final EditText txtNote = (EditText) view.findViewById(R.id.EditText_Note);
btnAggiungiArticoli.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent articoliintent = new Intent(RapportiniActivity.this.getActivity(), ArticoliActivity.class);
startActivity(articoliintent);
}
});
//Configuro la funzione Listener sul login button
btnGeneraRapportino.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//Prima di procedere con la generazione del rapportino è necessario controllare che le note siano inserite
if (txtNote.getText().toString().length() > 0) {
Rapportino r = new Rapportino();
String ImageBase64 = r.GeneraRapportinoPrivato(txtNote.getText().toString());
try {
//byte[] decodedString = Base64.decode(ImageBase64, Base64.DEFAULT);
//System.out.println("\n Decode String: "+decodedString);
//Bitmap bp = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
//img.setImageBitmap(bp);
} catch (Exception ex) {
System.out.print("Errore: " + ex);
}
} else {
Support.Notification(RapportiniActivity.this.getActivity(), "Attenzione", "Non hai inserito le note");
}
}
});
}
/* Tipologie di result code:
1) Articolo
*/
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == 1) {
System.out.println("\n Hai selezionato un articolo");
Articolo a = (Articolo) data.getSerializableExtra("articoloselezionato");
ArticoloSelezionati.add(a);
}
System.out.println("\n Articolo selezionati: " + ArticoloSelezionati.size());
}
}