0

こんにちは、同じアクティビティで 2 つのタイム ピッカーを使用しています。私の要件は、最初のタイム ピッカーが現在の時刻を表示し、2 番目のタイム ピッカーが (現在の時間 +1) を表示することですが、2 番目の問題は (現在の時間 +1) を表示しないことです。現在時刻を表示します。ここに私のコードがあります

  if(v.equals(stimeimage))
  {
   stime=true;
   myYear = c.get(Calendar.YEAR);
   myMonth = c.get(Calendar.MONTH);
   myDay = c.get(Calendar.DAY_OF_MONTH);
   showDialog(DATE_DIALOG_ID); 
  }
  if(v.equals(etimeimage))
  {   
   etime=true;
   myYear = c.get(Calendar.YEAR);
   myMonth = c.get(Calendar.MONTH);
   myDay = c.get(Calendar.DAY_OF_MONTH);
   showDialog(DATE_DIALOG_ID);       
  }
  private DatePickerDialog.OnDateSetListener myDateSetListener
                     = new DatePickerDialog.OnDateSetListener(){

 public void onDateSet(DatePicker view, int year,int monthOfYear, int dayOfMonth) 
 {
  if(monthOfYear+1<10)
   datetext = String.valueOf(year) + "-0"+ String.valueOf(monthOfYear+1) + "-"+ String.valueOf(dayOfMonth);
  else
   datetext = String.valueOf(year) + "-"+ String.valueOf(monthOfYear+1) + "-"+ String.valueOf(dayOfMonth); 
  Log.e("datetext",datetext);

   myHour = c.get(Calendar.HOUR_OF_DAY);
   if(etime)
    myHour = c.get(Calendar.HOUR_OF_DAY)+1; 
   Log.e("mhour",""+myHour);
   myMinute = c.get(Calendar.MINUTE);
   showDialog(TIME_DIALOG_ID);    
   }
  };

  protected Dialog onCreateDialog(int id) 
  {
      AlertDialog myDialog = null;
   switch(id){
    case DATE_DIALOG_ID:{
    myDialog= new DatePickerDialog(this,myDateSetListener,myYear, myMonth, myDay);
    break;
    }
    case TIME_DIALOG_ID:{
            myDialog= new TimePickerDialog(this,myTimeSetListener,myHour, myMinute, false);
            break;
    }

   }
   return myDialog;
  }

ログで2番目のタイムピッカーを押すと、(現在の時間+ 1)が表示されますが、現在の時間が表示されます..解決策を教えてください..

私はたくさんグーグルで調べましたが、解決策が見つかりませんでした..

前もって感謝します

4

1 に答える 1

0
    timePicker.setCurrentHour(currentHour+1);

プログラムで oncreate メソッドに追加します

于 2012-10-26T10:48:12.307 に答える