RecyclerView
には、長押し後にCardView
に格納されたいくつかのデータが含まれています。私はコンテキストメニューを有効にしています。特定のカードの位置を取得しています。また、
しかし、私は何をしたいのですか?リスト<にデータを保存してから、別のアクティビティクラスからデータを取得して、それらのデータを使用して、ある特定の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;
}
、特定のカードのデータを押す。 しかし、長い押しでリストにデータを渡すときは、最初に押されたデータが最初に表示され、次に現在のデータが表示されます。
私の2番目の質問は、別のクラスのこのリストにアクセスしようとしていますが、動作していません。他のクラスの
コードはこれを行うにはどのように
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-アンドロイド –
長い間押されたときにアイテムを持ち、それをarraylistに保管して、次のアクティビティやフラグメントに運びたい場合があります。そうですか? –
私はこれのためにparcelable好む。バンドルの使用 –