/**
  * 画面要素へのデータセット
  *
  * @param savedInstanceState バンドル
  */
 private void setViewElement(Bundle savedInstanceState) {
   Log.d("DEBUG", "Search setViewElement Start");
   // 指定年月日を取得
   Calendar clTargetDate;
   if (savedInstanceState != null) {
     // 復元情報から取得
     clTargetDate =
         DateUtil.toCalendar(savedInstanceState.getString("calym") + DateUtil.FIRST_DAY);
   } else {
     clTargetDate = DateUtil.toCalendar(stdObj.getStrCalendarYearMonth() + DateUtil.FIRST_DAY);
   }
   // 対象年月日のTextViewの初期値設定
   tvTargetDate.setText(DateUtil.YEARMONTH_FORMAT.format(clTargetDate.getTime()));
   // マイク機能が使用可能か確認し、使用不可能な場合、非表示とする
   boolean blHasMicFeature =
       getPackageManager().hasSystemFeature(PackageManager.FEATURE_MICROPHONE);
   if (blHasMicFeature) {
     // マイク機能が使用可能な場合
     ivMicIcon1.setVisibility(View.VISIBLE);
     Log.d("DEBUG", "Search setViewElement FEATURE_MICROPHONE:OK");
   } else {
     // マイク機能が使用不可能な場合
     ivMicIcon1.setVisibility(View.INVISIBLE);
     Log.d("DEBUG", "Search setViewElement FEATURE_MICROPHONE:OUT");
   }
   Log.d("DEBUG", "Search setViewElement End");
 }
 /**
  * ToDo情報のデータベース検索処理
  *
  * @strSearchWord 検索ワード
  * @return 処理を行った場合はtrue
  */
 private boolean searchTODO(String strSearchWord) {
   Log.d("DEBUG", "Search SetSearchResultListTask searchTODO Start");
   boolean blResult = true;
   ToDoCursor tdcObj = null;
   lSLR = new ArrayList<SearchListRow>();
   try {
     String[] where_args = {strSearchWord, strSearchWord};
     // カーソルの取得
     tdcObj = tdhDB.getToDoSearchResult(where_args);
     // カーソルポインター初期化
     startManagingCursor(tdcObj);
     Log.d(
         "DEBUG",
         "Search SetSearchResultListTask searchTODO ScheduleCursor Count : "
             + tdcObj.getCount());
     for (int intCt = 0; intCt < tdcObj.getCount(); intCt++) {
       // スケジュールのセット
       SearchListRow slrObj = new SearchListRow();
       slrObj.setStrDate(DateUtil.convBaseYMD(tdcObj.getColDate()));
       slrObj.setStrSearchType(getString(R.string.tdsearchtarget));
       lSLR.add(slrObj);
       tdcObj.moveToNext();
     }
     tdcObj.close();
   } catch (SQLException e) {
     blResult = false;
     Log.e("ERROR", "Search SetSearchResultListTask searchTODO DB Error", e);
   } finally {
     if (tdcObj != null) {
       tdcObj.close();
     }
   }
   Log.d("DEBUG", "Search SetSearchResultListTask searchTODO End");
   return blResult;
 }
 /**
  * 入力値チェック処理
  *
  * @return 処理を行った場合はtrue
  */
 private boolean checkInputSearch(boolean blSearchType) {
   Log.d("DEBUG", "Search checkInputSchedule Start");
   boolean blResult = true;
   StringBuilder sbObj = new StringBuilder();
   // 検索対象文字列エディットテキスト
   String strSearchWord = etSearchString.getText().toString();
   if (strSearchWord == null || strSearchWord.equals("")) {
     // 空(null)チェック
     blResult = false;
     sbObj.append(getString(R.string.sestring_msg) + getString(R.string.restoreConfirm1));
   }
   // ToDo検索時
   if (blSearchType) {
     // 開始年月日ビュー
     String strTargetDate = tvTargetDate.getText().toString();
     if (strTargetDate == null || strTargetDate.equals("")) {
       // 空(null)チェック
       blResult = false;
       sbObj.append(getString(R.string.setargetperiod_msg) + getString(R.string.restoreConfirm1));
     } else {
       // YYYY-MM形式チェック
       if (DateUtil.checkYMFormat(strTargetDate) == false) {
         blResult = false;
         sbObj.append(
             getString(R.string.setargetperiod_errmsg1) + getString(R.string.restoreConfirm1));
       }
     }
   }
   if (blResult == false) {
     showDialog(this, "", sbObj.toString(), getString(R.string.yes_btn));
   }
   Log.d("DEBUG", "Search checkInputSchedule End");
   return blResult;
 }
 /**
  * tdSearch ToDo検索ボタン押下時の処理
  *
  * @param v 選択ビュー
  */
 public void tdSearch(View view) {
   Log.d("DEBUG", "Search tdSearch Start");
   if (blSearch == true) {
     // 検索ボタン連打ロックオン
     blSearch = false;
     // 入力値チェック
     boolean blCheckInput = checkInputSearch(true);
     if (blCheckInput == true) {
       // 検索文字列取得
       String strSearchWord = etSearchString.getText().toString();
       // 選択対象年月情報取得
       GregorianCalendar gcObj =
           DateUtil.toCalendar(tvTargetDate.getText().toString() + DateUtil.FIRST_DAY);
       StringBuilder sbDateText = new StringBuilder();
       sbDateText.append(Integer.toString(gcObj.get(Calendar.YEAR)));
       sbDateText.append(Integer.toString(gcObj.get(Calendar.MONTH) + 1));
       // 検索処理
       SetSearchResultListTask task = new SetSearchResultListTask();
       task.execute(sbDateText.toString(), strSearchWord);
     } else {
       // 検索ボタン連打ロックオフ
       blSearch = true;
     }
   }
   Log.d("DEBUG", "Search tdSearch End");
 }
 /**
  * クリックされた時呼び出される
  *
  * @param View クリックされたビュー
  */
 public void onClick(View view) {
   Log.d("DEBUG", "Search DateOnClickListener onClick Start");
   GregorianCalendar gcObj = null;
   if (view == tvTargetDate && blSearch == true) {
     // 対象年月でクリックされた場合
     // ボタン連打ロックオン
     blSearch = false;
     gcObj = DateUtil.toCalendar(tvTargetDate.getText().toString() + DateUtil.FIRST_DAY);
   } else {
     return;
   }
   // 年月用AlertDialogを作成し表示する
   AlertDialog.Builder adbObj = new AlertDialog.Builder(contextObj);
   // ダイアログ内ボタン連打ロックオフ
   blDialogButton = true;
   final DatePicker dpObj = new DatePicker(contextObj);
   dpObj.updateDate(
       gcObj.get(Calendar.YEAR), gcObj.get(Calendar.MONTH), gcObj.get(Calendar.DAY_OF_MONTH));
   int intDayID = Resources.getSystem().getIdentifier("day", "id", "android");
   dpObj.findViewById(intDayID).setVisibility(View.GONE);
   adbObj
       .setView(dpObj)
       .setTitle(contextObj.getString(R.string.select_calendar))
       .setPositiveButton(
           android.R.string.ok,
           new DialogInterface.OnClickListener() {
             public void onClick(DialogInterface diObj, int intWhich) {
               if (blDialogButton == true) {
                 // ダイアログ内ボタン連打ロックオン
                 blDialogButton = false;
                 // 上限・下限年月補正ロジック
                 long lgLowerLimitTime = DateUtil.convMSec(getString(R.string.lower_limit_time));
                 long lgUpperLimitTime = DateUtil.convMSec(getString(R.string.upper_limit_time));
                 GregorianCalendar gcalObj = new GregorianCalendar();
                 gcalObj.set(dpObj.getYear(), dpObj.getMonth(), dpObj.getDayOfMonth());
                 if (gcalObj.getTimeInMillis() < lgLowerLimitTime) {
                   gcalObj = DateUtil.toCalendar(getString(R.string.lower_limit_time));
                 } else if (gcalObj.getTimeInMillis() > lgUpperLimitTime) {
                   gcalObj = DateUtil.toCalendar(getString(R.string.upper_limit_time));
                 }
                 tvTargetDate.setText(DateUtil.YEARMONTH_FORMAT.format(gcalObj.getTime()));
                 // ボタン連打ロックオフ
                 blSearch = true;
               }
             }
           })
       .setNegativeButton(
           android.R.string.cancel,
           new DialogInterface.OnClickListener() {
             public void onClick(DialogInterface diObj, int intWhich) {
               if (blDialogButton == true) {
                 // ダイアログ内ボタン連打ロックオン
                 blDialogButton = false;
                 // ボタン連打ロックオフ
                 blSearch = true;
               }
             }
           })
       .setOnCancelListener(this)
       .create()
       .show();
   Log.d("DEBUG", "Search DateOnClickListener onClick End");
 }