gpt4 book ai didi

java - 找不到 FirstFragmentDirections 和 SecondFragmentArgs

转载 作者:行者123 更新时间:2023-12-04 14:15:04 24 4
gpt4 key购买 nike

发件人: https://codelabs.developers.google.com/codelabs/build-your-first-android-app/#8

AndroidStudio 3.6.2

分步指南中的最后一个任务产生以下错误:

cannot find a symbol variable SecondFragmentArgs package FirstFragmentDirections does not exist cannot find symbol variable FirstFragmentDirections



下面是 SecondFragment.java 中的代码示例:
public class SecondFragment extends Fragment {
Integer myArg = SecondFragmentArgs.fromBundle(getArguments()).getMyArg();
@Override
public View onCreateView(
LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState
) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_second, container, false);
}

这是来自 FirstFragment.java 的代码:
public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);

view.findViewById(R.id.random_button);
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
TextView showCountTextView = view.getRootView().findViewById(R.id.textview_first);
int currentCount = Integer.parseInt(showCountTextView.getText().toString());
FirstFragmentDirections.action_FirstFragment_to_SecondFragment action = FirstFragmentDirections.actionFirstFragmentToSecondFragment(currentCount);
NavHostFragment.findNavController(FirstFragment.this).navigate(R.id.action_FirstFragment_to_SecondFragment);
}
});

view.findViewById(R.id.toast_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast myToast = Toast.makeText(getActivity(), "Hello toast!", Toast.LENGTH_SHORT);
myToast.show();
}
});

view.findViewById(R.id.count_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
countMe(view);
}
});

}
}

最佳答案

我遇到了同样的问题,结果代码实验室在 Build.gradle 中引用了 SafeArgs 的 alpha 版本。文件。要修复它,只需在顶层 Build.gradle 中包含最新的类路径文件。

buildscript {
repositories {
google()
}
dependencies {
def nav_version = "2.3.0"
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version"
}
}
另外,不要忘记将插件应用到您的 应用程序或模块的 Build.gradle文件: apply plugin: "androidx.navigation.safeargs"如果使用 Java 或 apply plugin: "androidx.navigation.safeargs.kotlin"对于 Kotlin
编辑:为了完整起见,您还需要重建 Gradle 以添加 FirstFragmentDirections 生成的类。这可以通过在工具菜单中选择 Build > Make Project 来完成。
请参阅下面的官方文档,因为如果上述方法不起作用,它们会提供额外的故障排除。
引用文档
https://developer.android.com/guide/navigation/navigation-pass-data
https://developer.android.com/jetpack/androidx/releases/navigation#safe_args

关于java - 找不到 FirstFragmentDirections 和 SecondFragmentArgs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61073842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com