0
私はこれを1週間以上働かせようとしてきましたが、私は同じ問題に取り組んでいます。私は具体的に子供pickup
の値をクリックリスナーで更新できるようにしようとしています。それは私のrecyclerviewにあります。onClickを使用してFirebaseのキーの下にある特定の子の値を上書きするにはどうすればよいですか?
私はFirebaseからキーを照会する必要があることを知っています。それは私がやり方を知らない部分です。その後、私はここで.setValue()
に設定されていますテキストに値を設定し、私のデータベースツリーである:ここ
Chat
-KgR30muFg-X6xmrqaXA
address: "123 ST"
confirm: ""
description: "Destin: Customer Name :Jhon"
phone: "8678876678"
pickup: ""
title: "[email protected] 02:54:44"
-KgR34XayCVHu2Lveg62
address: "125 ST"
confirm: ""
description: "Miramar: Customer Name :Nathan "
phone: "929292929"
pickup: ""
title: "[email protected] 02:55:19"
は私のコード
public class Home extends AppCompatActivity {
private RecyclerView recyclerView;
private DatabaseReference myref;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
recyclerView=(RecyclerView)findViewById(R.id.recyclerview);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
myref= FirebaseDatabase.getInstance().getReference().child("Chat");
FirebaseRecyclerAdapter<Blog,BlogViewHolder> recyclerAdapter=new FirebaseRecyclerAdapter<Blog,BlogViewHolder>(
Blog.class,
R.layout.individual_row,
BlogViewHolder.class,
myref
) {
@Override
protected void populateViewHolder(BlogViewHolder viewHolder, Blog model, int position) {
viewHolder.setTitle(model.getTitle());
viewHolder.setDescription(model.getDescription());
viewHolder.setAddress(model.getAddress());
viewHolder.setPhone(model.getPhone());
viewHolder.setPickup(model.getPickup());
viewHolder.setConfirm(model.getConfirm());
}
};
recyclerView.setAdapter(recyclerAdapter);
}
public static class BlogViewHolder extends RecyclerView.ViewHolder {
View mView;
TextView textView_title;
TextView textView_decription;
TextView textView_address;
TextView textView_phone;
TextView textView_pickup;
TextView textView_confirm;
Button bconfirm;
Button bpickup;
public BlogViewHolder(View itemView) {
super(itemView);
mView=itemView;
textView_title = (TextView)itemView.findViewById(R.id.title);
textView_decription = (TextView) itemView.findViewById(R.id.description);
textView_address = (TextView) itemView.findViewById(address);
textView_phone = (TextView) itemView.findViewById(phone);
textView_pickup = (TextView) itemView.findViewById(pickup);
textView_confirm = (TextView) itemView.findViewById(R.id.confirm);
bconfirm = (Button) itemView.findViewById(R.id.bcomfirm);
bpickup = (Button) itemView.findViewById(R.id.bpickup);
}
public void setTitle(String title)
{
textView_title.setText(title+"");
}
public void setDescription(String description)
{
textView_decription.setText(description);
}
public void setAddress(String address) {
textView_address.setText(address);
}
public void setPhone(String phone) {
textView_phone.setText(phone);
}
public void setPickup(String pickup) {
textView_pickup.setText(pickup);
}
public void setConfirm(String confirm) {
textView_confirm.setText(confirm);
}
}
}
エラーが表示され続ける "変数recyclerAdapterが初期化されていない可能性があります。 –
しかし、ここで初期化していますか?FirebaseRecyclerAdapter recyclerAdapter = new FirebaseRecyclerAdapter ..... –
これも私の考えです。それは右のように見えないので、私はさらにアンドロイドスタジオをリセットします –