Time Picker делает мое приложение cra sh с ошибкой: E / libprocessgroup: не удалось создать и chown / acct / uid_10058: файловая система только для чтения - PullRequest
0 голосов
/ 24 марта 2020

Извините, что мне снова нужна ваша помощь. Я действительно пытаюсь решить все эти проблемы самостоятельно, но поскольку с этого года я занимаюсь кодированием Android, я все еще время от времени поражаюсь.

Я пытался сделать Time Picker. Если я делаю это в новом проекте, он работает отлично. Но как только я помещаю его в свое «оригинальное приложение», приложение запускается до View 3, где у меня есть Time Picker. Я также могу открыть Time Picker. Я выбираю время, но как только я нажимаю «ОК», он говорит: «К сожалению, приложение остановилось. Нажав кнопку «ОК», я возвращаюсь к представлению 2. Я уже пытался реорганизовать Код, удалил Эмулятор и создал новый. Неважно, что я делаю, это не работает. Возможно ли, что у меня все еще неправильный порядок в классе, потому что я пытаюсь добавить разные атрибуты в приложение, которое я узнал независимо друг от друга?

Я думаю, что TimePickerFragment должен быть правильным, потому что сборщик работает, но здесь я добавляю его снова:

 public class TimePickerFragment extends DialogFragment {
    @NonNull
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        Calendar c = Calendar.getInstance();
        int hour = c.get(Calendar.HOUR_OF_DAY);
        int minute = c.get(Calendar.MINUTE);

        return new TimePickerDialog(getActivity(), (TimePickerDialog.OnTimeSetListener) getActivity(), hour, minute, android.text.format.DateFormat.is24HourFormat(getActivity()));
    }
}

Я добавил сборщик времени в классе ниже

    public class MainActivity extends AppCompatActivity implements TimePickerDialog.OnTimeSetListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_Main);

        Calendar calendar = Calendar.getInstance();
        String currentDate = DateFormat.getDateInstance(DateFormat.DATE_FIELD).format(calendar.getTime());
        SimpleDateFormat format = new SimpleDateFormat("HH:mm");
        String time = format.format(calendar.getTime());

        TextView textViewDate = findViewById(R.id.Date);
        textViewDate.setText(currentDate);

        TextView textView = findViewById(R.id.Time2);
        textView.setText(time);

        EditText editText = (EditText) findViewById(R.id.Time1);
        editText.setOnClickListener(new View.OnClickListener() {

              @Override
              public void onClick(View v) {
                  DialogFragment timePicker = new TimePickerFragment();
                  timePicker.show(getSupportFragmentManager(), "time picker");
              }
        });
    }

    @Override
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        TextView textView = (TextView)findViewById(R.id.time);
        textView.setText(hourOfDay + ":" + minute);
    }
}

1 Ответ

0 голосов
/ 24 марта 2020

В вашем основном классе просто сделайте это, поскольку это упражнение, а не фрагмент it's a picture from my repo, it would enlightened you

    public class MainActivity extends AppCompatActivity implements TimePickerDialog.OnTimeSetListener {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_Main);

    Calendar calendar = Calendar.getInstance();
    String currentDate = DateFormat.getDateInstance(DateFormat.DATE_FIELD).format(calendar.getTime());
    SimpleDateFormat format = new SimpleDateFormat("HH:mm");
    String time = format.format(calendar.getTime());

    TextView textViewDate = findViewById(R.id.Date);
    textViewDate.setText(currentDate);

    TextView textView = findViewById(R.id.Time2);
    textView.setText(time);

    EditText editText = (EditText) findViewById(R.id.Time1);
    editText.setOnClickListener(new View.OnClickListener() {

          @Override
          public void onClick(View v) {
              DialogFragment timePicker = new TimePickerFragment();
              timePicker.show();
          }
    });
}

@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
    TextView textView = (TextView)findViewById(R.id.time);
    textView.setText(hourOfDay + ":" + minute);
}
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...