[英]i want to use GeoFire to Populate Firebase Recycler View in android
[英]android firebase realtimedatabase Questions(recycler view, onclick button, remove)
我希望在單擊 item1 上的按鈕時刪除 item1 的數據。 但是mDatabase.getReference("Choicestore").child(String.valueOf(arrayList.get(position)));
我不知道如何處理這部分。
我希望在單擊 item1 上的按鈕時刪除 item1 的數據。 我希望在單擊 item2 上的按鈕時刪除 item2 的數據。
@Override
public void onBindViewHolder(@NonNull final ChoicestoreViewHolder holder, final int position) {
Glide.with(holder.itemView)
.load(arrayList.get(position).getChoicestore_img())
.into(holder.choicestore_img);
holder.choicestore_name.setText("storename : " + arrayList.get(position).getChoicestore_name());
holder.choicestore_time.setText("opentime : " + arrayList.get(position).getChoicestore_time());
holder.choicestore_breaktime.setText("breaktime : " +arrayList.get(position).getChoicestore_breaktime());
holder.choicestore_number.setText("storenumber : " + arrayList.get(position).getChoicestore_number());
holder.choicestore_delete.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
mDatabase = FirebaseDatabase.getInstance();
dataRef = mDatabase.getReference("Choicestore").child(String.valueOf(arrayList.get(position)));
dataRef.removeValue();
}
});
}
我使用下面的答案進行編碼,但出現此錯誤。
@Override
public void onBindViewHolder(@NonNull final ChoicestoreViewHolder holder, final int position) {
Glide.with(holder.itemView)
.load(arrayList.get(position).getChoicestore_img())
.into(holder.choicestore_img);
holder.choicestore_name.setText("매장명 : " + arrayList.get(position).getChoicestore_name());
holder.choicestore_time.setText("운영시간 : " + arrayList.get(position).getChoicestore_time());
holder.choicestore_breaktime.setText("브레이크타임 : " +arrayList.get(position).getChoicestore_breaktime());
holder.choicestore_number.setText("매장번호 : " + arrayList.get(position).getChoicestore_number());
holder.choicestore_delete.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
final String NAme= arrayList.get(position).getChoicestore_name();
dataRef.orderByChild("choicestore_name")
.equalTo( NAme )
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot childSnapshot : dataSnapshot.getChildren()) {
String clubkey = childSnapshot.getKey();
Log.d(TAG, "KEY = " + clubkey );
childSnapshot.getRef().removeValue();
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
});
}
這是發生錯誤的代碼。
holder.choicestore_delete.setOnClickListener
內部
final String NAme= arrayList.get(position).getChoicestore_name();
mDatabasesliderRef.orderByChild("choicestore_name")
.equalTo( NAme )
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot childSnapshot : dataSnapshot.getChildren()) {
String clubkey = childSnapshot.getKey();
Log.d( TAG, "KEY = " + clubkey );
childSnapshot.getRef().removeValue();
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.