2016-05-11 2 views
0

Может ли кто-нибудь помочь мне реализовать два таймера в той же деятельности и сохранить его значение 4 (час, минута) в 4 разных переменных .... Мой код выглядит следующим образом (не работает). ..2 Выбор времени в той же деятельности

общественный класс Время проходит AppCompatActivity {

static final int START_TIME_ID=0; 
static final int END_TIME_ID=1; 

EditText edit_start_time,edit_end_time; 

public int hour,minute; 
private int chour,cminute; 

public Time(){ 
    final Calendar calendar=Calendar.getInstance(); 
    chour=calendar.get(Calendar.HOUR_OF_DAY); 
    cminute=calendar.get(Calendar.MINUTE); 
} 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_Time); 
    edit_start_time = (EditText) findViewById(R.id.edit_start_time); 
    edit_end_time = (EditText) findViewById(R.id.edit_end_time); 

edit_start_time.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      showDialog(START_TIME_ID); 
     } 
    }); 

    edit_end_time.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v){ 
      showDialog(END_TIME_ID); 
     } 
    }); 

}

private TimePickerDialog.OnTimeSetListener mStartTime=new TimePickerDialog.OnTimeSetListener() 
{ 
    public void onTimeSet(TimePicker view,int hourofday,int min) 
    { 
     hour=hourofday; 
     minute=min; 
    } 
}; 

private TimePickerDialog.OnTimeSetListener mEndTime=new TimePickerDialog.OnTimeSetListener() 
{ 
    public void onTimeSet(TimePicker view,int hourofday,int min) 
    { 
     hour=hourofday; 
     minute=min; 
    } 
}; 

@Override 
protected Dialog onCreateDialog(int id) 
{ 
    switch (id) 
    { 
     case START_TIME_ID: 
      return new TimePickerDialog(this,mStartTime,chour,cminute,false); 
     case END_TIME_ID: 
      return new TimePickerDialog(this,mEndTime,chour,cminute,false); 
    } 
    return null; 
} 

ответ

0

Понимать этот код,

private TimePickerDialog.OnTimeSetListener showTimePicker = 
      new TimePickerDialog.OnTimeSetListener() { 
     public void onTimeSet(TimePicker view, int selectedHour, 
       int selectedMinute) { 
      if (view.getId() == R.id.startTime) 
       //todo stuff 
      else if(view.getId() == R.id.endTime) 
       //todo stuff 
     } 
    }; 
startTime.setOnClickListener(showTimePicker); 
endTime.setOnClickListener(showTimePicker); 
0

С моей точки зрения

Нет необходимости сделать два выбора времени. возьмите одну логическую переменную. когда нажимаете на edit_start_time, тогда значение равно true, а при нажатии на edit_end_time меняйте его на false.

На основе булевой переменной задайте значение 4 различных переменных.

надеюсь, что это вам поможет.

+0

Я реализовал его. Спасибо вам всем –