0

まず第一に、私は初心者ですが、これまでのところ自分のアプリをほぼ完全に理解しているので、誰かがこれを行う方法を教えてくれることを願っています.

ここに私の完全なアプリコードがあります:

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.DatePicker;
import android.view.View;
import java.util.Calendar;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import android.widget.Toast;

public class MainActivity extends Activity {

Button mBtnPlanMe;
CheckBox mCbSaturdaysAllowed;
DatePicker mDpDate;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.dynamiclayout);

    mBtnPlanMe = (Button) findViewById(R.id.btnPlanMe);
    mCbSaturdaysAllowed = (CheckBox) findViewById(R.id.cbSaturdaysAllowed);
    mDpDate = (DatePicker) findViewById(R.id.dpDate);

}

public void PlanMe(View view){
    if (view == mBtnPlanMe){
        Calendar cal = Calendar.getInstance();
        Calendar cal1 = Calendar.getInstance();

        int xday = mDpDate.getDayOfMonth();
        int xmonth = mDpDate.getMonth();
        int xyear = mDpDate.getYear();

        cal.set(xyear, xmonth, xday);

        if (cal.before(cal1) == true) {
            Toast.makeText(this, "Kan geen datum inplannen voor vandaag", Toast.LENGTH_LONG).show();
        }

        else {

        if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY){
            cal.add(Calendar.DAY_OF_MONTH, 1);
        }

        if (!mCbSaturdaysAllowed.isChecked() && cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY){
            cal.add(Calendar.DAY_OF_MONTH, 2);
        }

        DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
        String date = formatter.format(cal.getTime());

        Toast.makeText(this, "Uw afspraak is ingepland op: " + date, Toast.LENGTH_LONG).show();
    }
    }
}
}

さて、この部分で:

if (cal.before(cal1) == true) {
    Toast.makeText(this, "Cannot plan a date earlier than today", Toast.LENGTH_LONG).show();
}

現在の日付より前の日付を計画できないことをユーザーに伝えますが、日付ピッカーを現在の日付にリセットしたいのですが、方法がわかりません。もう「cal.set」は使えません。

4

1 に答える 1

0
                final Calendar c = Calendar.getInstance();
        year = c.get(Calendar.YEAR);
        month = c.get(Calendar.MONTH);
        day = c.get(Calendar.DAY_OF_MONTH);

   DatePicker mDpDate = (DatePicker) findViewById(R.id.dpDate);
    // set current date into datepicker
    mDpDate .init(year, month, day, null);
于 2012-05-15T12:42:51.867 に答える