代码之家  ›  专栏  ›  技术社区  ›  Sir George

将微调器和日期选择器所选值转换为字符串并保存到firebase

  •  0
  • Sir George  · 技术社区  · 9 年前

    大家好,我有一个酒店预订表单,它有两个日期选择器和三个微调器来收集用户数据(签入、结账、房间、成人、儿童)…我试图将表单数据保存到firebase,代码工作正常,但我的数据库中有非常奇怪的数据,我一定是错过了字符串转换的一些东西。这里是数据库中的记录

    成人: “android.support.v7.widget.AppCompatSpinner{e09c…”

    签到:

    “android.widget.DatePicker{194a02de V.E

    儿童: “android.support.v7.widget.AppCompatSpinner{1dba…”

    房间: “android.support.v7.widget.AppCompatSpinner{d413…”

    我的预订活动如下:

    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_booking_form);
            Firebase.setAndroidContext(this);
            reserve = (Button) findViewById(R.id.reserve);
            spinner1 = (Spinner) findViewById(R.id.spinner1);
            spinner2 = (Spinner) findViewById(R.id.spinner2);
            spinner3 = (Spinner) findViewById(R.id.spinner3);
            datePicker0 = (DatePicker) findViewById(R.id.datePicker0);
            datePicker2 = (DatePicker) findViewById(R.id.datePicker2);
    
    
    
    
    
    
            reserve.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    //Creating firebase object
                    final Firebase ref = new Firebase("https://ngong-hills.firebaseio.com/");
    
                    //Getting values to store
    
                    String Checkin = datePicker0.toString().trim();
                    String Checkout = datePicker2.toString().trim();
                    String rooms = spinner1.toString().trim();
                    String adults = spinner2.toString().trim();
                    String children = spinner3.toString().trim();
    
                    Booking booking = new Booking();
                    booking.setadults(adults);
                    booking.setchildren(children);
                    booking.setrooms(rooms);
                    booking.setCheckout(Checkout);
                    booking.setCheckin(Checkin);
    
                    Firebase newRef = ref.child("Bookings").push();
                    newRef.setValue(booking);
    
    
                }
            });
    
        }
    
        @Override
        public void onClick(View view) {
    
            if(view == reserve){
                //open login activity when user taps on the already registered textview
                startActivity(new Intent(this, HomeNav.class));
            }
    
        }
    

    我不知道我错过了什么

    1 回复  |  直到 9 年前
        1
  •  1
  •   Community Mohan Dere    9 年前
    String Checkin = datePicker0.toString().trim();
    String Checkout = datePicker2.toString().trim();
    String rooms = spinner1.toString().trim();
    String adults = spinner2.toString().trim();
    String children = spinner3.toString().trim();
    

    String rooms = spinner1.getSelectedItem().toString();
    

    对其他微调器执行相同的操作。 Here is how 您可以从DatePicker获取日期值并将其转换为字符串。