Joe*_*vin 11 java android kotlin android-studio android-navigation
自从将 Assets 文件夹添加到我的项目后,我现在得到:
error: package R does not exist
"return new ActionOnlyNavDirections(R.id.action_newAlarmFragment_to_homeFragment);"
Run Code Online (Sandbox Code Playgroud)
这是来自此自动生成的代码:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试清理和重建项目,并尝试按照评论中的建议“使缓存无效并重新启动”
浏览这里的其他回答的问题,似乎它可能是 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
}
Run Code Online (Sandbox Code Playgroud)
导航 XML:
?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/alarm_nav"
app:startDestination="@id/homeFragment">
<fragment
android:id="@+id/homeFragment"
android:name="com.pleavinseven.alarmclockproject.fragments.HomeFragment"
android:label="fragment_home"
tools:layout="@layout/fragment_home" >
<action
android:id="@+id/action_homeFragment_to_newAlarmFragment"
app:destination="@id/newAlarmFragment" />
<action
android:id="@+id/action_homeFragment_to_updateFragment"
app:destination="@id/updateFragment" />
</fragment>
<fragment
android:id="@+id/newAlarmFragment"
android:name="com.pleavinseven.alarmclockproject.fragments.SetNewAlarmFragment"
android:label="NewAlarmFragment" >
<action
android:id="@+id/action_newAlarmFragment_to_homeFragment"
app:destination="@id/homeFragment" />
</fragment>
<fragment
android:id="@+id/updateFragment"
android:name="com.pleavinseven.alarmclockproject.fragments.UpdateFragment"
android:label="UpdateFragment" >
<action
android:id="@+id/action_updateFragment_to_homeFragment"
app:destination="@id/homeFragment" />
<argument
android:name="currentAlarm"
app:argType="com.pleavinseven.alarmclockproject.data.model.Alarm" />
</fragment>
Run Code Online (Sandbox Code Playgroud)
mit*_*221 36
只需将包名称从 build.gradle 应用程序级别移至清单即可。
从
android {
namespace 'com.example.app' //remove this
}
Run Code Online (Sandbox Code Playgroud)
到
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.app"> //add this
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3717 次 |
| 最近记录: |