Я пытаюсь поместить GLSurfaceView в макет xml, но когда я пытаюсь это сделать, мое приложение автоматически закрывается. Я думаю, проблема в макете/activity_main.xml, потому что я не знаю имя тега для glsurgaceview. Это мой код. Не могли бы вы рассказать мне, что не так с моим кодом. Спасибо за вашу помощь.Как раздуть glsurfaceview в макете android xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".AnimationActivity">
<TextView
android:id="@+id/angolo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="135dp"
android:text="Angolo:"
android:textAppearance="?android:attr/textAppearanceMedium" />
<view
class="rugani.tesi.animazione3d.AnimationActivity$MyGLSurfaceView"
android:id="@+id/myglsurfaceView"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</RelativeLayout>
Это myglsurfaceview:
protected void onCreate(Bundle savedInstanceState) {
Logger.log("onCreate");
super.onCreate(savedInstanceState);
getActionBar().setDisplayHomeAsUpEnabled(true);
/*
mGLView = new GLSurfaceView(getApplication());
mGLView.setEGLContextClientVersion(2);
mGLView.setEGLConfigChooser(new AAConfigChooser(mGLView));
mGLView.setRenderer(renderer);
setContentView(mGLView);
*/
//mGLView = new MyGLSurfaceView(getApplication());
//setContentView(mGLView);
setContentView(R.layout.activity_main);
mGLView = (MyGLSurfaceView) findViewById(R.id.graphics_glsurfaceview);
pluto=(MyApplication)this.getApplication();
mBoundService=pluto.getObj();
}
и это мой OnCreate()
private MyGLSurfaceView mGLView;
private MyGLRenderer renderer;
protected void onCreate(Bundle savedInstanceState) {
Logger.log("onCreate");
super.onCreate(savedInstanceState);
getActionBar().setDisplayHomeAsUpEnabled(true);
/*
mGLView = new GLSurfaceView(getApplication());
mGLView.setEGLContextClientVersion(2);
mGLView.setEGLConfigChooser(new AAConfigChooser(mGLView));
mGLView.setRenderer(renderer);
setContentView(mGLView);
*/
//mGLView = new MyGLSurfaceView(getApplication());
//setContentView(mGLView);
setContentView(R.layout.activity_main);
mGLView = (MyGLSurfaceView) findViewById(R.id.graphics_glsurfaceview);
}
это LogCat:
09-18 10:52: 17.665: E/ActivityThread (30263): не удалось раздуть 09-18 10 : 52: 17.665: E/ActivityThread (30263): android.view.InflateException: Бинарная строка XML-файла # 11: ошибка раздувания класса rugani.tesi.animazione3d.AnimationActivity.MyGLSurfaceView 09-18 10: 52: 17.665: E/ActivityThread (30263): at android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:708) 09-18 10: 52: 17.665: E/ActivityThread (30263): at android.view.LayoutInflater.rInflate (LayoutInflater .java: 756) 09-18 10: 52: 17.665: E/ActivityThread (30263): at android.view.LayoutInflater.inflate (LayoutInflater.java:492) 09-18 10: 52: 17.665: E/ActivityThread (30263): at android.view.LayoutInflater.inflate (LayoutInflater.java:397) 09-18 10: 52: 17.665: E/Acti vityThread (30263): at android.view.LayoutInflater.inflate (LayoutInflater.java:353) 09-18 10: 52: 17.665: E/ActivityThread (30263): at com.android.internal.policy.impl. PhoneWindow.setContentView (PhoneWindow.java:344) 09-18 10: 52: 17.665: E/ActivityThread (30263): at android.app.Activity.setContentView (Activity.java:2127) 09-18 10:52 : 17.665: E/ActivityThread (30263): at rugani.tesi.animazione3d.AnimationActivity.onCreate (AnimationActivity.java:73) 09-18 10: 52: 17.665: E/ActivityThread (30263): at android.app .Activity.performCreate (Activity.java:6020) 09-18 10: 52: 17.665: E/ActivityThread (30263): at android.app.Instrumentation.callActivityOnCreate (Inst rumentation.java:1087) 09-18 10: 52: 17.665: E/ActivityThread (30263): at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2181) 09-18 10: 52: 17.665: E/ActivityThread (30263): at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2276) 09-18 10: 52: 17.665: E/ActivityThread (30263): at android.app.ActivityThread.access $ 800 (ActivityThread.java:144) 09-18 10: 52: 17.665: E/ActivityThread (30263): at android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1205) 09-18 10: 52: 17.665 : E/ActivityThread (30263): at android.os.Handler.dispatchMessage (Handler.java:102) 09-18 10: 52: 17.665: E/ActivityThread (30263): при android.os.Looper.loop (Looper.java:136) 09-18 10: 52: 17.665: E/ActivityThread (30263): at android.app.ActivityThread.main (ActivityThread.java:5151) 09- 18 10: 52: 17.665: E/ActivityThread (30263): at java.lang.reflect.Method.invokeNative (родной метод) 09-18 10:52:17.665: E/ActivityThread (30263): at java.lang.reflect.Method.invoke (Method.java:515) 09-18 10: 52: 17.665: E/ActivityThread (30263): at com.android. internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:796) 09-18 10: 52: 17.665: E/ActivityThread (30263): at com.android.internal.os.ZygoteInit.main (ZygoteInit.java : 612) 09-18 10: 52: 17.665: E/ActivityThread (30263): at dalvik.system.NativeStart.main (родной метод) 09-18 10: 52: 17.665: E/ActivityThread (30263): Вызвано: java.lang.ClassNotFoundException: Не нашел класс "rugani.tesi.animazione3d.AnimationActivity.MyGLSurfaceView" по пути: DexPathList [[zip-файл "/ d ata/app/rugani.tesi.animazione3d-1.apk "], nativeLibraryDirectories = [/ data/app-lib/rugani.tesi.animazione3d-1, /vendor/lib,/system/lib]] 09-18 10 : 52: 17,665: Е/ActivityThread (30263): в dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:56) 09-18 10: 52: 17,665: Е/ActivityThread (30263): в Java. lang.ClassLoader.loadClass (ClassLoader.java:497) 09-18 10: 52: 17.665: E/ActivityThread (30263): at java.lang.ClassLoader.loadClass (ClassLoader.java:457) 09-18 10 : 52: 17.665: E/ActivityThread (30263): at android.view.LayoutInflater.createView (LayoutInflater.java:559) 09-18 10: 52: 17.665: E/ActivityThread (30263): at android.view .LayoutInflater.c reateViewFromTag (LayoutInflater.java:697) 09-18 10: 52: 17,665: E/ActivityThread (30263): ... 21 более
EDIT: Я обновил этот пост с новой компоновкой XML и с ошибка LogCat
можете ли вы показать сообщение об ошибке от logcat? – fadden
Я отредактировал первое сообщение, в том числе ошибку logcat и отредактированный xml-макет :) –
Кажется, он не нашел класс - 'Не нашел класс 'rugani.tesi.animazione3d.AnimationActivity.MyGLSurfaceView". – fadden