Ich habe eine RecyclerView
, die enthält mehrere Daten gespeichert CardView
nach langem Drücken ich ein Kontextmenü aktivieren, bekomme ich die Position der bestimmten Karte und ich bin in der Lage, die Daten auf Toast anzuzeigen ebenfalls.
Aber was ich tun möchte ist, die Daten in der Liste speichern <> und dann aus einer anderen Aktivitätsklasse abrufen, wo ich diese Daten verwenden kann, um bestimmte bestimmte EditText
setzen.
Ich bin nicht sicher, wo ich hier falsch bin immer mein Code: -
bekommen Daten über lange drücken und Speicherung in ListDaten aus einer RecyclerView abrufen Nach langem Drücken
public List<String> Data=new ArrayList<>();
TextView name,qunat,refill;
String nameMed,quantity,refillAmt;
@Override
public void onItemLongClick(View view, int position) {
name = (TextView) view.findViewById(R.id.nameOfUpmingMed);
qunat=(TextView)view.findViewById(R.id.QuantOfMed);
refill=(TextView)view.findViewById(R.id.ReffilAmt);
nameMed = name.getText().toString();
quantity=qunat.getText().toString();
refillAmt=refill.getText().toString();
passData(nameMed,quantity,refillAmt,);
// Data.add(nameMed);Data.add(quantity);Data.add(refillAmt);
}
}));
public List<String> passData(String name, String quant, String refillAmt){
String Name,Quant,Refill;
Name=name;Quant=quant;Refill=refillAmt;
Data.add(Name);
Data.add(Quant);
Data.add(Refill);
for(int i=0;i<Data.size();i++){
Toast.makeText(getActivity(), "Pressed card is and "+Data.get(i), Toast.LENGTH_SHORT).show();
}
return Data;
}
Wenn ich Daten auf lange bin Abrufen klicken, um es funktioniert gut, es gibt die Daten einer bestimmten Karte gedrückt. Aber wenn ich die Daten bei langem Drücken übergebe, werden zuerst die zuvor gedrückten Daten und dann die aktuellen Daten angezeigt.
Meine zweite Frage ist, ich versuche, auf diese Liste in einer anderen Klasse zuzugreifen, aber es funktioniert nicht.
Code für andere Klasse ist
prescriptionFragment=new PrescriptionFragment();
for(int i=0;i < prescriptionFragment.Data.size();i++){
if(i==0){
Toast.makeText(getApplication(),"data is "+prescriptionFragment.Data.get(i),Toast.LENGTH_LONG).show();
}
}
Wie dies zu tun, wie ich Daten von einer Klasse zur anderen kann auf lange Drücken einer Karte Ansicht. Oder gibt es einen anderen Weg, dies zu tun?
Darf ich einen Blick auf diese schlage vor, http://stackoverflow.com/questions/2091465/how-do-i-pass-data-between-activities-on- android –
Vielleicht möchten Sie das Objekt, wenn lange gedrückt halten und es zu arraylist speichern und das zur nächsten Aktivität oder Fragment forttragen. Ist das richtig? –
Ich bevorzuge parzellierbar dafür. Verwenden des Bundles –