2016-10-21 38 views
1

我想在一個對話框中有一個日期和兩個時間選擇器,我已經完成了它,但第二次(時間)獲得的值相同)。我已經放了一些'如果情況'來解決它,但沒有幫助。我得到(「2016/10/27 5:41 0:00),即使我選擇兩個」時間選擇器「的時間,我沒有得到第二個值或它複製第一個的值。Android - 一個對話框中的一個日期和兩個時間選擇器

這裏是我的代碼:

import android.app.DatePickerDialog; 
import android.app.Dialog; 
import android.app.TimePickerDialog; 

import android.content.Intent; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.DatePicker; 
import android.widget.EditText; 
import android.widget.TextView; 
import android.widget.TimePicker; 
import android.widget.Toast; 
import com.google.firebase.auth.FirebaseAuth; 
import com.google.firebase.auth.FirebaseUser; 
import com.google.firebase.database.DatabaseReference; 
import com.google.firebase.database.FirebaseDatabase; 


import java.util.Calendar; 





public class AdminActivity extends AppCompatActivity implements View.OnClickListener, TimePickerDialog.OnTimeSetListener, DatePickerDialog.OnDateSetListener { 

    //firebase auth object 
    private FirebaseAuth firebaseAuth; 

    //view objects 
    private TextView textViewUserEmailadmin; 
    private Button buttonLogout; 

    private DatabaseReference databaseReference; 
    private EditText editTextinfo; 
    private TextView Textpass; 

    private Button buttonSave; 

    int day, month, year, hour, minute,hour1,minute1; 
    int dayFinal, monthFinal, yearFinal, hourFinal, minuteFinal,hourFinal1,minuteFinal1; 

    int i = 0; 
    Button btnDatePicker; 
    String a=""; 
    String b=""; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_admin); 

     //initializing firebase authentication object 
     firebaseAuth = FirebaseAuth.getInstance(); 

     //if the user is not logged in 
     //that means current user will return null 
     if (firebaseAuth.getCurrentUser() == null) { 
      //closing this activity 
      finish(); 
      //starting login activity 
      startActivity(new Intent(this, LoginActivity.class)); 
     } 

     databaseReference = FirebaseDatabase.getInstance().getReference(); 
     editTextinfo = (EditText) findViewById(R.id.editText3); 

     buttonSave = (Button) findViewById(R.id.buttonSave); 

     //getting current user 
     FirebaseUser user = firebaseAuth.getCurrentUser(); 

     //initializing views 
     textViewUserEmailadmin = (TextView) findViewById(R.id.textViewUserEmailAdmin); 
     buttonLogout = (Button) findViewById(R.id.buttonLogout); 


     //displaying logged in user name 
     textViewUserEmailadmin.setText("Welcome admin " + user.getEmail()); 

     //adding listener to button 
     buttonLogout.setOnClickListener(this); 
     buttonSave.setOnClickListener(this); 


     btnDatePicker = (Button) findViewById(R.id.btn_date); 
     // btnTimeFrom = (Button) findViewById(R.id.btn_time_from); 
     // btnTimeTo = (Button) findViewById(R.id.btn_time_to); 


     Textpass = (TextView) findViewById(R.id.Textviewpass); 

     btnDatePicker.setOnClickListener(this); 


    } 

    private void saveUserInformation() { 
     String info = editTextinfo.getText().toString().trim(); 
     String pass = Textpass.getText().toString().trim(); 


     i++; 
     UserInformation UserInformation = new UserInformation(info, pass); 
     // FirebaseUser user = firebaseAuth.getCurrentUser(); 

     //databaseReference.child(user.getUid()+i++).setValue(UserInformation); 
     databaseReference.child("tidnr" + i).setValue(UserInformation); 
     Toast.makeText(this, "Information saved...", Toast.LENGTH_SHORT).show(); 

    } 

    @Override 
    public void onClick(View view) { 

     //if logout is pressed 
     if (view == buttonLogout) { 
      //logging out the user 
      firebaseAuth.signOut(); 
      //closing activity 
      finish(); 
      //starting login activity 
      startActivity(new Intent(this, LoginActivity.class)); 
     } 
     if (view == buttonSave) { 
      saveUserInformation(); 
     } 

     if (view == btnDatePicker) { 

      if(a == "" && b == "") { 
       Calendar c = Calendar.getInstance(); 
       day = c.get(Calendar.DAY_OF_MONTH); 
       month = c.get(Calendar.MONTH); 
       year = c.get(Calendar.YEAR); 

       DatePickerDialog datePickerDialog = new DatePickerDialog(AdminActivity.this, AdminActivity.this, year, month, day); 
       datePickerDialog.show(); 
      } 
     } 

    } 


    @Override 
    public void onDateSet(DatePicker datePicker, int i, int i1, int i2) { 
     yearFinal=i; 
     monthFinal=i1 +1; 
     dayFinal= i2; 

     Calendar c = Calendar.getInstance(); 
     hour = c.get(Calendar.HOUR_OF_DAY); 
     minute = c.get(Calendar.MINUTE); 
     if(a == "" && b == "") { 
      android.text.format.DateFormat dateFormat = new android.text.format.DateFormat(); 
      //is24HourFormat = dateFormat.is24HourFormat(this); 

      TimePickerDialog timePickerDialog = new TimePickerDialog(AdminActivity.this, AdminActivity.this, 
        hour, minute, dateFormat.is24HourFormat(this)); 
      timePickerDialog.show(); 
     } 
    } 

    @Override 
    public void onTimeSet(TimePicker view, int i, int i1) { 
     hourFinal = i; 
     minuteFinal = i1; 
     String curTime = String.format("%02d",minuteFinal); 


     if(a == "" && b == ""){ 

      a = yearFinal+"/"+monthFinal+"/"+dayFinal+" "+hourFinal+":"+curTime; 
     } 




     if(a != "" && b == "") { 

      Calendar c1 = Calendar.getInstance(); 
      hour1 = c1.get(Calendar.HOUR_OF_DAY); 
      minute1 = c1.get(Calendar.MINUTE); 

      android.text.format.DateFormat dateFormat1 = new android.text.format.DateFormat(); 
      //is24HourFormat = dateFormat.is24HourFormat(this); 

      TimePickerDialog timePickerDialog1 = new TimePickerDialog(AdminActivity.this, AdminActivity.this, 
        hour1, minute1, dateFormat1.is24HourFormat(this)); 
      timePickerDialog1.show(); 
      String curTime1 = String.format("%02d",minuteFinal1); 
      b = a+" "+hourFinal1+":"+curTime1; 
      a=""; 

      Textpass.setText(b); 
      Toast.makeText(this, "test.", Toast.LENGTH_SHORT).show(); 
     } 


    } 
} 

回答

1

替換該行

String curTime1 = String.format("%02d",minuteFinal1); 
b = a+" "+hourFinal1+":"+curTime1; 

有:

String curTime1 = String.format("%02d",minute1); 
b = a+" "+hour1+":"+curTime1; 
+0

它沒有幫助,現在即時在第二個號碼中獲得一個號碼,但不是我選擇的時間。 –

+0

謝謝Olcay –

相關問題