Android: отображение метки времени - PullRequest
1 голос
/ 08 декабря 2011

У меня проблема, я хочу вставить метку времени в свою базу данных.Каждый раз, когда пользователь нажимает кнопку отправки, отображаемая отметка времени должна соответствовать времени, когда пользователь нажал кнопку.У меня есть код здесь:

btnSend.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            String phoneNo = editTextRecipient.getText().toString();
            String message = editTextNewMessage.getText().toString(); 
            Log.d(phoneNo, message);
            saveState(phoneNo, message, details);
            boolean split = false;

            SimpleDateFormat s = new SimpleDateFormat("ddMMyyyyhhmmss");
            String date = s.format(new Date());

            /*Bundle bundle = new Bundle();

            bundle.putString(MessagesDBAdapter.KEY_RECIPIENT, editTextRecipient.getText().toString());
            bundle.putString(MessagesDBAdapter.KEY_MESSAGE, editTextNewMessage.getText().toString());
            bundle.putString(MessagesDBAdapter.KEY_DETAILS, tv_details.getText().toString());
            if (mRowId != null) {
                bundle.putLong(MessagesDBAdapter.KEY_ROWID, mRowId);
            }*/

            final Toast toast = Toast.makeText(getBaseContext(), 
                     "Your message " + "\"" + message + "\"" + " is sent to " +"\""+ phoneNo+"\"", 
                      Toast.LENGTH_SHORT);

            Runnable showToastRunnable = new Runnable() {
              public void run() {
                  dialog.cancel();
                  toast.show();
              }
          };

            if (phoneNo.length()>0 && message.length()>0)  {
                showProgress();
                if (count == 0) {
                      handler.postDelayed(showToastRunnable, 0);
                  }
                  else if (count == 1) {
                      handler.postDelayed(showToastRunnable, 15000);
                  }
                  else if (count == 2) {
                      handler.postDelayed(showToastRunnable, 30000);
                  }
                  else if (count == 3) {
                      handler.postDelayed(showToastRunnable, 60000);
                  }
            }

               // sendSMS(phoneNo, message, split); */
            else
                Toast.makeText(getBaseContext(), 
                    "Please enter both phone number and message.", 
                    Toast.LENGTH_SHORT).show();
        }
    });      
     mDbHelper.close();
}

 private void populateFields() {
    if (mRowId!=null) {
        Cursor message=mDbHelper.fetchNote(mRowId);
        startManagingCursor(message);
        editTextRecipient.setText(message.getString(message.getColumnIndexOrThrow(MessagesDBAdapter.KEY_RECIPIENT)));
        editTextNewMessage.setText(message.getString(message.getColumnIndexOrThrow(MessagesDBAdapter.KEY_MESSAGE)));
        tv_details.setText(message.getString(message.getColumnIndexOrThrow(MessagesDBAdapter.KEY_DETAILS)));
    }
 }

 private void saveState(String phoneNo, String message, String details) {
     Log.i(phoneNo, message);

    if (mRowId==null) {
        mDbHelper.createNote(phoneNo, message, details);
    }
 }

Отметка времени должна отображаться (12:30 и т. Д.) На 24-часовых часах.Я делаю это правильно, я что-то пропустил?Кто-нибудь может мне помочь?

1 Ответ

1 голос
/ 08 декабря 2011

Вы можете использовать Календарь класс.

Calendar now = Calendar.getInstance();
final int hour = now.get(Calendar.HOUR_OF_DAY);
final int minute = now.get(Calendar.MINUTE);
...