2

日付を表示するカスタム ダイアログにDatepicker があり、ユーザーは日付を選択でき、ユーザーが選択した日付を取得できます。他のカレンダーを表示してさらに先へ進みたい

たとえば、グレゴリオ暦の日付の代わりにペルシャ暦の日付を使用します。ユーザーが日付ピッカーから日付を選択すると、アプリでログにペルシャの日付を返すことができます。しかし、DatePicker を変更してペリサンの日付を表示する方法がわかりません。助けてください。

 @Override
 public boolean onCreateOptionsMenu(Menu menu)
 {
    menu.add("Add Detail").setIcon(R.drawable.ic_compose).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
    return true;
 }

 @Override
 public boolean onOptionsItemSelected(MenuItem item)
 {
    final Dialog dialog = new Dialog(this);
    dialog.setContentView(R.layout.custom);

    final EditText amount = (EditText) dialog.findViewById(R.id.amtEditText);
    final DatePicker datePicker = (DatePicker) dialog.findViewById(R.id.datePicker1);
    Button cancelButton = (Button) dialog.findViewById(R.id.canelButton);
    Button OKButton = (Button) dialog.findViewById(R.id.OKbutton);

    OKButton.setOnClickListener(new View.OnClickListener() 
    {
        @Override
        public void onClick(View v) 
        {
            Log.d("---------------", datePicker.getDayOfMonth() +" " 
                                   + datePicker.getMonth() + " " 
                                   + datePicker.getYear() + " " 
                                   + amount.getText());

            Toast.makeText(MainActivity.this, "Got click: "
                                 + datePicker.getDayOfMonth() + " " 
                                 + datePicker.getMonth() + " " 
                                 + datePicker.getYear(), Toast.LENGTH_SHORT).show();

            CivilDate civil = new CivilDate(datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth());
            PersianDate perDate = DateConverter.civilToPersian(civil);

            Log.d("-------", perDate.getDayOfMonth()+ " " + (perDate.getMonth() + 1) + " " + perDate.getYear() + " " + perDate.getMonthName());
            datePicker.init(perDate.getYear(), (perDate.getMonth() + 1), perDate.getDayOfMonth(), null);
        }
    });
4

3 に答える 3

2

DatePickerスイッチを使用する代わりに、 Android Wheelライブラリを使用します。これは Google の開発者によって作成され、Android のように見えるようにスタイルを設定できDatePicker、古い携帯電話でも一貫したルック アンド フィールを提供します。

フィールドに入力できるものによっても制限されないため、必要なものは何でも使用できます。

于 2013-05-10T01:39:02.097 に答える