1

とてもシンプルなアプリを作ろうとしています。TimePicker要素から時間を取り、値1〜8のスピナーに基づいて30分刻みで追加する必要があります。つまり、ユーザーが値「3」と時刻「8:30 am」を選択した場合、プログラムは次のことを実行する必要があります。

 (30min) * 3 = 90min

それから

 (8:30am) + 90min = 10:00am

スピナー(値1〜8)から入力を取得し、簡単な計算を行って、それをTimePickerからのデータ入力に追加する方法を知っている人はいますか?

このトピックに関するヘルプをいただければ幸いです。

4

1 に答える 1

0

次に、いくつかのことを示します。1.ピッカーから選択された値を取得するようにリスナーを設定してから、タイムピッカーの値を取得します。

public class MainActivity extends Activity{
    Integer[] numbers = new Integer[]{0,1,2,3,4,5,6,7,8};


        final TimePicker tp = (TimePicker)findViewById(R.id.timePicker1);
        tp.setIs24HourView(true);
        Spinner s1 = (Spinner) findViewById(R.id.spinner1);
        ArrayAdapter<Integer> adapter = new ArrayAdapter<Integer>(this, 
                android.R.layout.simple_list_item_single_choice, numbers);

s1.setAdapter(adapter);
        s1.setOnItemSelectedListener(new OnItemSelectedListener(){   
            public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3)

            {
                int index = arg0.getSelectedItemPosition();
                switch(index)
                {
                case 0: 
                    int min = tp.getCurrentMinute();
                    int hour = tp.getCurrentHour();
                    //Do your calculations here etc

                }
            }

            public void onNothingSelected(AdapterView<?> arg0) {


            }
        });

}

  1. これは、タイムピッカーのリスナーを設定する方法にも役立つ可能性があります(誰かが私を助けてこれを編集できる場合は、正しくフォーマットすることはできません):

    final TimePicker tp = (TimePicker)findViewById(R.id.timePicker1);
            TimePicker.OnTimeChangedListener listen = new  
    
            TimePicker.OnTimeChangedListener() {
    
        public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
            // TODO Auto-generated method stub
            //do some calculations with hourOfDay and minute
    
        }
    };
    

    tp.setOnTimeChangedListener(listen);

于 2012-09-07T18:47:09.817 に答える