После добавления папки «Ресурсы» в мой проект я получаю:
error: package R does not exist
"return new ActionOnlyNavDirections(R.id.action_newAlarmFragment_to_homeFragment);"
который взят из этого автоматически сгенерированного кода:
import androidx.annotation.NonNull;
import androidx.navigation.ActionOnlyNavDirections;
import androidx.navigation.NavDirections;
public class SetNewAlarmFragmentDirections {
private SetNewAlarmFragmentDirections() {
}
@NonNull
public static NavDirections actionNewAlarmFragmentToHomeFragment() {
return new ActionOnlyNavDirections(R.id.action_newAlarmFragment_to_homeFragment);
}
}
Я попробовал очистить и пересобрать проект, а также попробовать «Недействить кеши и перезапустить», как предложено в комментариях.
Просматриваю другие ответы на вопросы здесь. Кажется, это может быть импортом R. где-то, но я ничего не могу найти.
Сам NavDirection происходит из этого фрагмента:
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.CompoundButton
import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider
import androidx.navigation.Navigation
import com.pleavinseven.alarmclockproject.alarmmanager.AlarmManager
import com.pleavinseven.alarmclockproject.data.model.Alarm
import com.pleavinseven.alarmclockproject.data.viewmodel.AlarmViewModel
import com.pleavinseven.alarmclockproject.databinding.FragmentSetNewAlarmBinding
import com.pleavinseven.alarmclockproject.util.TimePickerUtil
import java.util.*
class SetNewAlarmFragment : Fragment() {
private val timePickerUtil = TimePickerUtil()
lateinit var binding: FragmentSetNewAlarmBinding
private lateinit var alarmViewModel: AlarmViewModel
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View {
binding = FragmentSetNewAlarmBinding.inflate(inflater, container, false)
binding.fragmentCreateAlarmRecurring.setOnCheckedChangeListener(CompoundButton.OnCheckedChangeListener { _, isChecked ->
if (isChecked) {
binding.fragmentCreateAlarmRecurring.visibility = View.VISIBLE
} else {
binding.fragmentCreateAlarmRecurring.visibility = View.GONE
}
})
alarmViewModel = ViewModelProvider(this)[AlarmViewModel::class.java]
binding.fragmentBtnSetAlarm.setOnClickListener(View.OnClickListener { _ ->
scheduleAlarm()
Navigation.findNavController(requireView())
.navigate(com.pleavinseven.alarmclockproject.R.id.action_newAlarmFragment_to_homeFragment)
})
return binding.root
}
nav xml:
?xml version="1.0" encoding="utf-8"?>
Подробнее здесь: https://stackoverflow.com/questions/725 ... older-andr