У меня есть RecyclerView
, который содержит несколько данных, хранящихся на CardView
после длительного нажатия. Я включаю контекстное меню, я получаю позицию конкретной карты, и я могу отображать данные на Toast также.
Но я хочу сохранить данные в списке <>, а затем получить его из другого класса активности, где я могу использовать эти данные для установки на определенном EditText
.
Я не уверен, где я получаю неправильно здесь мой код: -
получения данных на длительном нажатии и хранение в СпискеПолучение данных из RecyclerView После долгого нажатия
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;
}
Когда я извлечение данных на больших мыши он работает нормально, он дает данные конкретной карточки. Но когда я передаю данные в список при длительном нажатии, сначала отображаются предыдущие данные, а затем текущие данные.
Мой второй вопрос: я пытаюсь получить доступ к этому списку в другом классе, но он не работает.
код для другого класса
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();
}
}
Как это сделать, как я могу получить данные из одного класса в другой на длительное нажатие на вид карты. Или есть другой способ сделать это.
Может я предлагаю взглянуть на это http://stackoverflow.com/questions/2091465/how-do-i-pass-data-between-activities-on- android –
Возможно, вы захотите взять этот предмет при длительном нажатии и сохранить его в arraylist и перенести его на следующую активность или фрагмент. Это правильно? –
Я предпочитаю для этого вариант. Использование Bundle –