X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2FDatePickerFragment.java;h=a30913c091220e69ab1bb7578c8f50e7a66f2fcf;hb=462f54a048214767800a0366f7cad95b6e52c4f0;hp=164371319e08e542c816d816a8d88ec9975ad150;hpb=55831cbed33beff476a2a86bd143cd8a274916fd;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/DatePickerFragment.java b/app/src/main/java/net/ktnx/mobileledger/DatePickerFragment.java index 16437131..a30913c0 100644 --- a/app/src/main/java/net/ktnx/mobileledger/DatePickerFragment.java +++ b/app/src/main/java/net/ktnx/mobileledger/DatePickerFragment.java @@ -7,6 +7,7 @@ import android.os.Build; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.v7.app.AppCompatDialogFragment; +import android.util.Log; import android.widget.DatePicker; import android.widget.TextView; @@ -27,7 +28,7 @@ implements DatePickerDialog.OnDateSetListener, DatePicker.OnDateChangedListener int year = c.get(GregorianCalendar.YEAR); int month = c.get(GregorianCalendar.MONTH); int day = c.get(GregorianCalendar.DAY_OF_MONTH); - TextView date = getActivity().findViewById(R.id.new_transaction_date); + TextView date = Objects.requireNonNull(getActivity()).findViewById(R.id.new_transaction_date); CharSequence present = date.getText(); @@ -47,7 +48,6 @@ implements DatePickerDialog.OnDateSetListener, DatePicker.OnDateChangedListener } DatePickerDialog dpd = new DatePickerDialog(Objects.requireNonNull(getActivity()), this, year, month, day); - // quicker date selection available in API 26 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { DatePicker dp = dpd.getDatePicker(); @@ -59,7 +59,7 @@ implements DatePickerDialog.OnDateSetListener, DatePicker.OnDateChangedListener @TargetApi(Build.VERSION_CODES.O) public void onDateSet(DatePicker view, int year, int month, int day) { - TextView date = getActivity().findViewById(R.id.new_transaction_date); + TextView date = Objects.requireNonNull(getActivity()).findViewById(R.id.new_transaction_date); final Calendar c = GregorianCalendar.getInstance(); if ( c.get(GregorianCalendar.YEAR) == year && c.get(GregorianCalendar.MONTH) == month) { @@ -68,6 +68,10 @@ implements DatePickerDialog.OnDateSetListener, DatePicker.OnDateChangedListener else { date.setText(String.format(Locale.US, "%d/%d", month+1, day)); } + + TextView description = Objects.requireNonNull(getActivity()) + .findViewById(R.id.new_transaction_description); + description.requestFocus(); } @Override @@ -82,6 +86,10 @@ implements DatePickerDialog.OnDateSetListener, DatePicker.OnDateChangedListener date.setText(String.format(Locale.US, "%d/%d", monthOfYear+1, dayOfMonth)); } + TextView description = Objects.requireNonNull(getActivity()) + .findViewById(R.id.new_transaction_description); + description.requestFocus(); + this.dismiss(); } }