안드로이드 개발 질문/답변
(글 수 45,052)
public class PowerTool extends Activity implements OnClickListener{ private TextView mTimeDisplay; private DBAdapter mDbHelper; private int mRowId; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mDbHelper = new DBAdapter(this); mDbHelper.open(); mRowId = -1; int hour = 03; int minute = 20; Cursor timesCursor = mDbHelper.fetchAllTimes(); //startManagingCursor(timesCursor); if (timesCursor.getCount() != 0){ timesCursor.moveToFirst(); mRowId = timesCursor.getInt( timesCursor.getColumnIndexOrThrow(DBAdapter.KEY_ROWID)); hour = timesCursor.getInt( timesCursor.getColumnIndexOrThrow(DBAdapter.KEY_HOUR)); minute = timesCursor.getInt( timesCursor.getColumnIndexOrThrow(DBAdapter.KEY_MINUTE)); AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE); Shutdown st = new Shutdown(this,am); st.SetPoweroffSchedule(hour,minute); } mTimeDisplay = (TextView) findViewById(R.id.TextView); TimePicker timePicker = (TimePicker) findViewById(R.id.TimePicker); timePicker.setIs24HourView(true); timePicker.setCurrentHour(hour); timePicker.setCurrentMinute(minute); timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() { public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { updateDisplay(hourOfDay, minute); } }); Button btnOK = (Button) findViewById(R.id.btnOK); btnOK.setOnClickListener(mSetSchedule); InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(timePicker.getWindowToken(), 0); } private OnClickListener mSetSchedule = new OnClickListener() { public void onClick(View v) { TimePicker timePicker = (TimePicker) findViewById(R.id.TimePicker); InputMethodManager in = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); in.hideSoftInputFromWindow(timePicker.getApplicationWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); int hour = timePicker.getCurrentHour(); int minute = timePicker.getCurrentMinute(); AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE); Shutdown st = new Shutdown(PowerTool.this,am); st.SetPoweroffSchedule(hour,minute); getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); if(mRowId == -1){ mDbHelper.createTime(hour, minute); }else { mDbHelper.updateTime(mRowId, hour, minute); } InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(timePicker.getWindowToken(), 0); finish(); } }; private void updateDisplay(int hourOfDay, int minute) { mTimeDisplay.setText( new StringBuilder() .append(pad(hourOfDay)).append(":") .append(pad(minute))); } private static String pad(int c) { if (c >= 10) return String.valueOf(c); else return "0" + String.valueOf(c); }
이렇게 해놓으니 timepicker에 +, -로 누른값만 저장하고 숫자찍어서 뜨는 키보드로 적은거는 저장이 안되네요...
저장하는 방법좀 알려주시거나 아니면 숫자 눌러도 키보드 안나오게 하는방법좀 알려주세요...ㅠㅜ
진지한 답변 부탁드립니다. 꾸벅!