0

トーストまたは基本的なprintlnコマンドを使用して、ユーザーが入力した時間を表示しようとしています。時刻が正しい形式であれば、現在の時刻と一緒にデータベースに入力したいと思います。

これが私がこれまでに持っているものです:

public void addListenerOnButton ()
{
    spinner_hours = (Spinner)findViewById(R.id.hours);
    spinner_minutes = (Spinner)findViewById(R.id.minutes);
    btnSubmit = (Button) findViewById(R.id.btnSubmit);
    btnSubmit.setOnClickListener(new OnClickListener() {

        @Override
          public void onClick(View v) {
            Date time;
            String enteredTime= String.valueOf(spinner_hours.getSelectedItem())+String.valueOf(spinner_minutes.getSelectedItem())+"00";
            SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");

            try {
                time= format.parse(enteredTime);
                System.out.println(enteredTime);
            } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        //   Toast.makeText(MainActivity.this,
        //              "Your alarm has been set for : " + time,
        //                  Toast.LENGTH_SHORT).show();

          }
    });
}

トースト(以下にコメント)をtryブロック内に配置すると、アプリを実行したときにトーストが表示されません。system.out.printlnを配置しても、何も出力されません。入力した時刻を印刷するにはどうすればよいですか?

また、データベースに同じ形式( "HH:mm:ss")で現在時刻を入力したいと思います。それを行う方法について何かアイデアはありますか?

4

2 に答える 2

1

動作するはずなので、おそらく例外をスローしていますSystem.out.println。これを置き換えてみてください:

String enteredTime= String.valueOf(spinner_hours.getSelectedItem())+String.valueOf(spinner_minutes.getSelectedItem())+"00";

これで:

String enteredTime= String.valueOf(spinner_hours.getSelectedItem())+ ":" + String.valueOf(spinner_minutes.getSelectedItem())+":00";

時間と分の間、および00の前に:が欠落しているようで、解析が失敗しています。

于 2012-12-07T20:53:29.697 に答える
0

まず、スピナーから取得した値を印刷してみてください

 System.out.println(spinner_hours.getSelectedItem().toString());
 System.out.println(spinner_minutes.getSelectedItem().toString());

これに値がない場合、問題はここにあります。

于 2012-12-07T21:33:35.923 に答える