> java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/lifecycle/MutableLiveData;

huangapple go评论117阅读模式
英文:

>java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/lifecycle/MutableLiveData;

问题

以下是您要翻译的代码部分:

  1. java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/lifecycle/MutableLiveData;
  2. at androidx.fragment.app.Fragment.<init>(Fragment.java:254)
  3. at com.plz.djaman.allsaver.settingFrag.<init>(settingFrag.java:18)
  4. at com.plz.djaman.allsaver.homeActivity$100000000.onNavigationItemSelected(homeActivity.java:36)
  5. at com.google.android.material.bottomnavigation.BottomNavigationView$1.onMenuItemSelected(BottomNavigationView.java:204)
  6. at androidx.appcompat.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:840)
  7. at androidx.appcompat.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:158)
  8. at androidx.appcompat.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:991)
  9. at com.google.android.material.bottomnavigation.BottomNavigationMenuView$1.onClick(BottomNavigationMenuView.java:115)
  10. at android.view.View.performClick(View.java:6608)
  11. at android.view.View.performClickInternal(View.java:6585)
  12. at android.view.View.access$3100(View.java:785)
  13. at android.view.View$PerformClick.run(View.java:25921)
  14. at android.os.Handler.handleCallback(Handler.java:873)
  15. at android.os.Handler.dispatchMessage(Handler.java:99)
  16. at android.os.Looper.loop(Looper.java:201)
  17. at android.app.ActivityThread.main(ActivityThread.java:6810)
  18. at java.lang.reflect.Method.invoke(Native Method)
  19. at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
  20. at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
  21. Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.lifecycle.MutableLiveData" on path: DexPathList[[zip file "/data/app/com.plz.djaman.allsaver-Ajcrql0ZP_Kz1oCg-PDv2A==/base.apk"],nativeLibraryDirectories=["/data/app/com.plz.djaman.allsaver-Ajcrql0ZP_Kz1oCg-PDv2A==/lib/arm64, /system/lib64]]
  22. at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:171)
  1. homeActivity.java
  2. package com.plz.djaman.allsaver;
  3. import androidx.appcompat.app.AppCompatActivity;
  4. import android.os.Bundle;
  5. import com.google.android.material.bottomappbar.BottomAppBar;
  6. import com.google.android.material.bottomnavigation.BottomNavigationView;
  7. import android.view.MenuItem;
  8. import androidx.annotation.NonNull;
  9. import android.widget.Toast;
  10. import androidx.fragment.app.FragmentTransaction;
  11. import androidx.fragment.app.Fragment;
  12. public class homeActivity extends AppCompatActivity {
  13. @Override
  14. protected void onCreate(Bundle savedInstanceState) {
  15. super.onCreate(savedInstanceState);
  16. setContentView(R.layout.home);
  17. BottomNavigationView bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottom_navigation);
  18. bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
  19. @Override
  20. public boolean onNavigationItemSelected(@NonNull MenuItem item) {
  21. Fragment fragment = null;
  22. switch (item.getItemId()) {
  23. case R.id.home:
  24. Toast.makeText(getApplicationContext(), "Home", Toast.LENGTH_SHORT).show();
  25. fragment = new homeFrag();
  26. break;
  27. case R.id.download:
  28. Toast.makeText(getApplicationContext(), "download", Toast.LENGTH_SHORT).show();
  29. fragment = new downloadFrag();
  30. break;
  31. case R.id.setting:
  32. Toast.makeText(getApplicationContext(), "Settings", Toast.LENGTH_SHORT).show();
  33. fragment = new settingFrag();
  34. break;
  35. }
  36. return loadFragment(fragment);
  37. }
  38. private boolean loadFragment(Fagment fragment) {
  39. //switching fragment
  40. if (fragment != null) {
  41. getSupportFragmentManager()
  42. .beginTransaction()
  43. .replace(R.id.container, fragment)
  44. .commit();
  45. return true;
  46. }
  47. return false;
  48. }
  49. });
  50. }
  51. }
  1. Fragment
  2. package com.plz.djaman.allsaver;
  3. import android.util.AttributeSet;
  4. import android.view.View;
  5. import android.content.Context;
  6. import android.view.LayoutInflater;
  7. import android.view.ViewGroup;
  8. import android.os.Bundle;
  9. import androidx.annotation.Nullable;
  10. import android.widget.TextView;
  11. import androidx.fragment.app.Fragment;
  12. public class downloadFrag extends Fragment {
  13. @Nullable
  14. @Override
  15. public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
  16. //just change the fragment_dashboard
  17. //with the fragment you want to inflate
  18. //like if the class is HomeFragment it should have R.layout.home_fragment
  19. //if it is DashboardFragment it should have R.layout.fragment_dashboard
  20. return inflater.inflate(R.layout.download_frag, null);
  21. }
  22. }

请注意,我已将代码中的HTML实体转义字符(如&quot;)还原为原始的双引号。如果您需要继续阅读或处理代码,请告诉我。

英文:

I Don't Why I'm getting error :-

>java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/lifecycle/MutableLiveData;
at androidx.fragment.app.Fragment.<init>(Fragment.java:254)
at com.plz.djaman.allsaver.settingFrag.<init>(settingFrag.java:18)
at com.plz.djaman.allsaver.homeActivity$100000000.onNavigationItemSelected(homeActivity.java:36)
at com.google.android.material.bottomnavigation.BottomNavigationView$1.onMenuItemSelected(BottomNavigationView.java:204)
at androidx.appcompat.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:840)
at androidx.appcompat.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:158)
at androidx.appcompat.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:991)
at com.google.android.material.bottomnavigation.BottomNavigationMenuView$1.onClick(BottomNavigationMenuView.java:115)
at android.view.View.performClick(View.java:6608)
at android.view.View.performClickInternal(View.java:6585)
at android.view.View.access$3100(View.java:785)
at android.view.View$PerformClick.run(View.java:25921)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6810)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.lifecycle.MutableLiveData" on path: DexPathList[[zip file "/data/app/com.plz.djaman.allsaver-Ajcrql0ZP_Kz1oCg-PDv2A==/base.apk"],nativeLibraryDirectories=[/data/app/com.plz.djaman.allsaver-Ajcrql0ZP_Kz1oCg-PDv2A==/lib/arm64, /system/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:171)

homeActivity.java

  1. package com.plz.djaman.allsaver;
  2. import androidx.appcompat.app.AppCompatActivity;
  3. import android.os.Bundle;
  4. import com.google.android.material.bottomappbar.BottomAppBar;
  5. import com.google.android.material.bottomnavigation.BottomNavigationView;
  6. import android.view.MenuItem;
  7. import androidx.annotation.NonNull;
  8. import android.widget.Toast;
  9. import androidx.fragment.app.FragmentTransaction;
  10. import androidx.fragment.app.Fragment;
  11. public class homeActivity extends AppCompatActivity {
  12. @Override
  13. protected void onCreate(Bundle savedInstanceState) {
  14. super.onCreate(savedInstanceState);
  15. setContentView(R.layout.home);
  16. BottomNavigationView bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottom_navigation);
  17. bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
  18. @Override
  19. public boolean onNavigationItemSelected(@NonNull MenuItem item) {
  20. Fragment fragment = null;
  21. switch (item.getItemId()) {
  22. case R.id.home:
  23. Toast.makeText(getApplicationContext(), &quot;Home&quot;, Toast.LENGTH_SHORT).show();
  24. fragment = new homeFrag();
  25. break;
  26. case R.id.download:
  27. Toast.makeText(getApplicationContext(), &quot;download&quot;, Toast.LENGTH_SHORT).show();
  28. fragment = new downloadFrag();
  29. break;
  30. case R.id.setting:
  31. Toast.makeText(getApplicationContext(), &quot;Settings&quot;, Toast.LENGTH_SHORT).show();
  32. fragment = new settingFrag();
  33. break;
  34. }
  35. return loadFragment(fragment);
  36. }
  37. private boolean loadFragment(Fragment fragment) {
  38. //switching fragment
  39. if (fragment != null) {
  40. getSupportFragmentManager()
  41. .beginTransaction()
  42. .replace(R.id.container, fragment)
  43. .commit();
  44. return true;
  45. }
  46. return false;
  47. }
  48. });
  49. }
  50. }

Fragment

  1. package com.plz.djaman.allsaver;
  2. import android.util.AttributeSet;
  3. import android.view.View;
  4. import android.content.Context;
  5. import android.view.LayoutInflater;
  6. import android.view.ViewGroup;
  7. import android.os.Bundle;
  8. import androidx.annotation.Nullable;
  9. import android.widget.TextView;
  10. import androidx.fragment.app.Fragment;
  11. public class downloadFrag extends Fragment {
  12. @Nullable
  13. @Override
  14. public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
  15. //just change the fragment_dashboard
  16. //with the fragment you want to inflate
  17. //like if the class is HomeFragment it should have R.layout.home_fragment
  18. //if it is DashboardFragment it should have R.layout.fragment_dashboard
  19. return inflater.inflate(R.layout.download_frag, null);
  20. }
  21. }

答案1

得分: 1

"java.lang.NoClassDefFoundError" error,基本上是一个版本导入的问题,你应该尝试修改Gradle导入jar的版本。

英文:

like this " java.lang.NoClassDefFoundError " error , It's basically a version-import problem ,You should try to modify the version that your Gradle imports jar

huangapple
  • 本文由 发表于 2020年8月12日 17:12:27
  • 转载请务必保留本文链接:https://go.coder-hub.com/63373410.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定