/** * 画面要素へのデータセット * * @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"); }