02-19 11:49:17.369: E/AndroidRuntime(4209): Java.lang.NoClassDefFoundError: com.slidingmenus.fragments.HomeFragment
02-19 11:49:17.369: E/AndroidRuntime(4209): at com.slidingmenus.MainActivity.displayCategoryView(MainActivity.Java:242)
02-19 11:49:17.369: E/AndroidRuntime(4209): at com.slidingmenus.MainActivity.onCreate(MainActivity.Java:121)
スタックオーバーフローで提案されたありとあらゆる手順を試しましたが、役に立ちませんでした。
4.0+ではエラーなしで機能しますが、2.3.xデバイスでは、Java.lang.NoClassDefFoundErrorを提供します。
line 242: fragment = new HomeFragment();
フラグメントからの私のインポートは:
import Android.app.Fragment;
import Android.app.FragmentManager;
そして私は使っています:
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.frame_container, fragment).commit();
これが私の家の断片です:
import Android.app.Fragment;
import Android.os.Bundle;
import Android.view.LayoutInflater;
import Android.view.View;
import Android.view.ViewGroup;
public class HomeFragment extends Fragment {
public HomeFragment(){}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.layout_main_fragment,container, false);
return rootView;
}
}
これを解決するためにすでに午前中過ごしました。まだ運がない。どんな助けでも大歓迎です。
ありがとう
サポートライブラリのFragment
を使用する必要があります。
_import Android.support.v4.app.Fragment;
import Android.support.v4.app.FragmentManager;
_
また、getSupportFragmentManager()
を使用する必要があります。AppCompat
を使用しているため、アクティビティはActionbarActivity
を拡張する必要があります。
_ FragmentManager fragmentManager = getSupportFragmentManager();
_
更新:
ActionBarActivity
はサポートライブラリのAppCompatActivity
の使用が推奨されていません。サポートリポジトリを最新に更新することを忘れないでください。
このコードをインポートしてみてください:
import Android.support.v4.app.Fragment;
そして使う
Fragment fragment = new HomeFragment();
Android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.layout.layout_main_fragment, fragment).commit();
私は同じ問題に直面し、それをインポートサポートライブラリで解決して使用しました
import Android.support.v4.app.Fragment;
import Android.support.v4.app.FragmentManager;
代わりに
import Android.app.Fragment;
import Android.app.FragmentManager;