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