我试图有一个自定义的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); }