大家好,然后在你看到的程序中,我应该执行以下一系列步骤:
1)Fragment1(Rapportini)我去了Activity2(Articoli)
2)选择一个元素并返回Fragment1(Rapportini),将值作为意图传递
3)OnActivityResult方法读取意图并将其添加到arraylist
我的问题是没有调用OnActivityResult方法!为什么会发生这种情况,我该如何解决?
活动2(Articoli) - 代码:
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();
片段结果(Rapportini Fragment):
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());
}
}
答案 0 :(得分:0)
:
Intent articoliintent = new Intent(RapportiniActivity.this.getActivity(), ArticoliActivity.class);
startActivity(articoliintent);
使用startActivityForResult
答案 1 :(得分:0)
这很简单。只需确保包含RapportiniActivity
的活动(这是一个片段)已在其中覆盖onActivityResult
,如下所示:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
}
您的代码应该有效。