Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何更改集合下文档中特定字段的值?_Java_Android_Firebase - Fatal编程技术网

Java 如何更改集合下文档中特定字段的值?

Java 如何更改集合下文档中特定字段的值?,java,android,firebase,Java,Android,Firebase,如屏幕截图所示,待定集合下的所有文档都列在RecyclerView中。单击特定项目时,将显示一个警报对话框,其中包含3个选项。单击“Shipped”选项时,我想将该特定项目的状态字段值从“Ordered”更改为“Shipped”。如何操作?请帮助 holder.cl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v

如屏幕截图所示,待定集合下的所有文档都列在RecyclerView中。单击特定项目时,将显示一个警报对话框,其中包含3个选项。单击“Shipped”选项时,我想将该特定项目的状态字段值从“Ordered”更改为“Shipped”。如何操作?请帮助

holder.cl.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    CharSequence options[]  = new CharSequence[]{
                            "Shipped", "Out for Delivery", "Delivered"
                    };

                    AlertDialog.Builder builder = new AlertDialog.Builder(CheckOrders.this);
                    builder.setTitle("What's the order status?");
                    builder.setItems(options, new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int i) {
                            if (i == 0){

                                db.collection("Pending").get()
                                        .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                                            @RequiresApi(api = Build.VERSION_CODES.N)
                                            @Override
                                            public void onComplete(@NonNull Task<QuerySnapshot> task) {
                                                if (task.isSuccessful()){
                                                    for (QueryDocumentSnapshot document : task.getResult()){
                                                        db.collection("Pending").document(String.valueOf(documentSnapshots.get(position).getData().replace("status", "shipped")));
                                                    }
                                                }
                                            }
                                        });
                            }else if (i==1){
                                OutforDelivery();
                            }
                            else if (i==2){
                                Delivered();
                            }else {}
                        }
                    });
                    builder.show();
                }
            });
holder.cl.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
CharSequence选项[]=新的CharSequence[]{
“已装运”、“已发货”、“已交付”
};
AlertDialog.Builder=新建AlertDialog.Builder(CheckOrders.this);
setTitle(“订单状态如何?”);
setItems(选项,新的DialogInterface.OnClickListener(){
@凌驾
公共void onClick(对话框接口对话框,int i){
如果(i==0){
db.collection(“待定”).get()
.addOnCompleteListener(新的OnCompleteListener(){
@RequiresApi(api=Build.VERSION\u code.N)
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
对于(QueryDocumentSnapshot文档:task.getResult()){
db.collection(“待定”).document(String.valueOf(documentSnapshots.get(position).getData().replace(“status”,“shipped”));
}
}
}
});
}else如果(i==1){
外交();
}
else如果(i==2){
交付();
}else{}
}
});
builder.show();
}
});