2017-07-17 9 views
0

私は30分の間隔の時間のリストを表示している私のアンドロイドアプリでリストビューを持っています。私はハードリストビューで30分間隔のクロック時間

public void prepareTime() { 
    ListModel listModel = new ListModel("00:30 A.M"); 
    listModelsList.add(listModel); 

    listModel = new ListModel("01:00 A.M"); 
    listModelsList.add(listModel); 
    listModel = new ListModel("01:30 A.M"); 
    listModelsList.add(listModel); 
    listModel = new ListModel("02:00 A.M"); 
    listModelsList.add(listModel); 
    listModel = new ListModel("02:30 A.M"); 
    listModelsList.add(listModel); 
    listModel = new ListModel("03:00 A.M"); 
    listModelsList.add(listModel); 
    listModel = new ListModel("03:30 A.M"); 
    listModelsList.add(listModel); 
    listModel = new ListModel("04:00 A.M"); 
    listModelsList.add(listModel); 
    listModel = new ListModel("04:30 A.M"); 
    listModelsList.add(listModel); 
    listModel = new ListModel("05:00 A.M"); 
    listModelsList.add(listModel); 
    listModel = new ListModel("05:30 A.M"); 
    listModelsList.add(listModel); 
    listModel = new ListModel("06:00 A.M"); 
    listModelsList.add(listModel); 
    listModel = new ListModel("06:30 A.M"); 
    listModelsList.add(listModel); 
ListsAdapter listAdapter = new ListsAdapter(getApplicationContext(), listModelsList); 
    list.setAdapter(listAdapter); 
} 

この機能を使用してリストビューにデータをコード化していますが、私は30分の間隔を使用して、モバイルタイムゾーンを使用して、リストにデータを追加したいです。 どうすればいいですか?

+0

「TimerTask」については、 –

+0

私はアプリケーションが起動するときにリストビューにデータを取り込みたいと思っています。タイマータスクはデータを投入するために30分ごとの間隔をとります –

+0

最初にデータをロードしてからタイマーを開始しますか? –

答えて

0

検索後、私は私の質問の答えを得ました。

private void displayTimeSlots() { 

    String timeValue = "T00:00:4.896+05:30"; 
    SimpleDateFormat sdf = new SimpleDateFormat("'T'hh:mm:ss.SSS"); 
    try { 
     Calendar startCalendar = Calendar.getInstance(); 
     startCalendar.setTime(sdf.parse(timeValue)); 

     if (startCalendar.get(Calendar.MINUTE) < 30) { 
      startCalendar.set(Calendar.MINUTE, 30); 
     } else { 
      startCalendar.add(Calendar.MINUTE, 30); // overstep hour and clear minutes 
      startCalendar.clear(Calendar.MINUTE); 
     } 

     Calendar endCalendar = Calendar.getInstance(); 
     endCalendar.setTime(startCalendar.getTime()); 

     // if you want dates for whole next day, uncomment next line 
     //endCalendar.add(Calendar.DAY_OF_YEAR, 1); 
     endCalendar.add(Calendar.HOUR_OF_DAY, 24 - startCalendar.get(Calendar.HOUR_OF_DAY)); 

     endCalendar.clear(Calendar.MINUTE); 
     endCalendar.clear(Calendar.SECOND); 
     endCalendar.clear(Calendar.MILLISECOND); 

     SimpleDateFormat slotTime = new SimpleDateFormat("hh:mm a"); 
     while (endCalendar.after(startCalendar)) { 

      startCalendar.add(Calendar.MINUTE, 30); 
      String slotEndTime = slotTime.format(startCalendar.getTime()); 

      ListModel listModel = new ListModel(slotEndTime); 
      listModelsList.add(listModel); 

      ListsAdapter listAdapter = new ListsAdapter(getApplicationContext(), listModelsList); 
      list.setAdapter(listAdapter); 
      Log.e("DATE", slotEndTime); 
     } 

    } catch (ParseException e) { 
     // date in wrong format 
    } 
} 
関連する問題