2011-07-20 5 views
0

私はここで少し助けが必要です。
私のアプリでは、ユーザーは `(1つのボタンを押すと)1つの日付間隔を選択する必要があります、そして、私は日付ピッカーを使ってこれを行う方法がわかりません!Androidの日付ピッカーヘルプ!

私はこの例を次のようだ:どのように私はonClickイベントは、私は2つのEditTextを持っている場合には(DatePickerDialog.OnDateSetListenerを呼ばないことがある)http://developer.android.com/resources/tutorials/views/hello-datepicker.htmlが、私はこのチュートリアルに関する二つの質問を持っている...

2)ユーザーがボタンを1回押した後にonClickを2回呼び出すにはどうすればよいですか?

tnhx! 申し訳ありませんが、英語が貧弱です!

+0

なぜonClick()を2回呼び出すかわかりません。あなたがアクションを2回実行したいだけなら、それをonClick()のループに入れてください...あなたはその質問の意味を明確にすることができますか? –

+0

私は試してみました...うまくいきません...私はshowDialog(0)を呼び出すのはDatePickerダイアログです。 – Shermano

答えて

0

あなたの説明から、ボタンを1回クリックするだけで日付間隔ピッカーを作成したいと考えています。 あなたの例から類推を使用することにより、次の操作を行う必要があります:あなたはあなたのアプリケーションを実行すると

// create two constants 
static final int DATE_DIALOG_FROM = 0; 
static final int DATE_DIALOG_TO = 1; 

// create case for two pickers 
protected Dialog onCreateDialog(int id) { 
    switch (id) { 
    case DATE_DIALOG_FROM: 
     return new DatePickerDialog(this, fromDateSetListener, mYear, mMonth,mDay); 
    case DATE_DIALOG_TO: 
     return new DatePickerDialog(this, toDateSetListener, mYear, mMonth,mDay); 
    } 
    return null; 
} 

// create two listeners for both of the cases 
private DatePickerDialog.OnDateSetListener fromDateSetListener = new DatePickerDialog.OnDateSetListener() { 
    public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 
     Toast.makeText(AccountsActivity.this,"From:" + year+"."+monthOfYear+"."+dayOfMonth, Toast.LENGTH_SHORT).show(); 
     showDialog(DATE_DIALOG_TO); 
    } 
}; 

private DatePickerDialog.OnDateSetListener toDateSetListener = new DatePickerDialog.OnDateSetListener() { 
    public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) { 
     Toast.makeText(AccountsActivity.this,"To:" + year+"."+monthOfYear+"."+dayOfMonth, Toast.LENGTH_SHORT).show(); 
     updateDisplay(); 
    } 
}; 

は、二ピッカーが最初に終了した後に現れます。

後で、誰もが日付間隔ピッカーを作成するためのより良い方法を知っている場合はお知らせください ...、このコードを最適化するカスタムピッカーなどを追加することができます!