我试图有一个自定义的glsurfaceview,上面有一些文字,在游戏中显示得分。我已经根据一些人的帖子制作了一个统一的xml布局,但是当我试图用setcontentview加载它时,应用程序崩溃了。调试后发现上面写着“找不到源”。我已经重建了r文件,但这没有帮助。作为参考,扩展glsurfaceview的类称为glview。任何帮助都将不胜感激。

 package org.kizik.WLTBO;


    import android.app.Activity;
    import android.os.Bundle;




    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.FrameLayout;
    import android.widget.LinearLayout;
    import android.widget.RelativeLayout;
    import android.widget.TextView;


    public class WholettheballoutActivity extends Activity {
       GLView view;



       @Override
       public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.score);
          view = (GLView) findViewById(R.id.mySurfaceView);

       // You can use a FrameLayout to hold the surface view
          /*FrameLayout frameLayout = new FrameLayout(this);
          frameLayout.addView(view);

          // Then create a layout to hold everything, for example a RelativeLayout
          RelativeLayout relativeLayout= new RelativeLayout(this);
          relativeLayout.addView(frameLayout);
          relativeLayout.addView(score);
          setContentView(relativeLayout);*/
       }

       @Override
       protected void onPause() {
           super.onPause();
           view.onPause();
       }

       @Override
       protected void onResume() {
           super.onResume();
           view.onResume();
       }
    }

使用xml文件名score.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TextView android:id="@+id/textView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>

    <TextView android:id="@+id/textView2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>

    <org.kizik.WLTBO.GLView
        android:id="@+id/mySurfaceView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"/>

</LinearLayout>

最佳答案

如果您创建了一个具有单个参数glview(context c)的构造函数,则可能会发生这种情况,您需要创建另一个类似于此glview(context c,attributeset attrs)的构造函数,因此如果您没有创建该构造函数,则它无法从类中找到glview,因为它的构造函数没有创建..!!我想你还没有创建那个构造函数….!啊!

 public GLview(Context context, AttributeSet attrs){

   super(context,attrs); }

10-04 18:07