Android 将surfaceView与xml结合使用

Android 将surfaceView与xml结合使用,android,surfaceview,Android,Surfaceview,我指的是,在onCreate方法中使用代码“textView1.setText(“set”);”将出现错误(tv1=(TextView)findViewById(R.id.tv1);-declare工作正常)。我如何解决这个问题?提前感谢您的帮助 public class For12junonly2Activity extends Activity { TextView tv1; EditText et1; /** Called when the activity is first crea

我指的是,在onCreate方法中使用代码“textView1.setText(“set”);”将出现错误(tv1=(TextView)findViewById(R.id.tv1);-declare工作正常)。我如何解决这个问题?提前感谢您的帮助

public class For12junonly2Activity extends Activity {


TextView tv1;
EditText et1;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    try
    {
    tv1 = (TextView)findViewById(R.id.tv1);     
    tv1.setText("Hi");
    }catch(Exception e)
    {
        Log.d("prob",String.valueOf(e));
    }
    et1 = (EditText)findViewById(R.id.et1); 
    setContentView(R.layout.main);

    float sss = surf.getX();
    Log.d("float create",String.valueOf(sss));
}

}

 class surf extends SurfaceView implements SurfaceHolder.Callback
{
...... from https://stackoverflow.com/q/8149225/1393006




public boolean onTouchEvent(MotionEvent event)
{   
    canvas.drawBitmap(myBitmap, event.getX() - (myBitmap.getWidth() / 2), event.getY() - (myBitmap.getHeight() / 2), null);
    canvas.drawCircle(event.getX(), event.getY(), 10, paint);
    surfaceHolder.unlockCanvasAndPost(canvas);
    Log.d("onTouch","X: "+event.getX()+" , Y: "+event.getY());
    x = event.getX();
    return true;
}
}
来自xml的代码

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

<te.de11.surf
    android:id="@+id/surfaceview" 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
   />

在将XML设置为活动的视图之前,您试图在XML中获取对TextView的引用。由于您的活动目前没有任何视图,因此任何findViewById()调用都将导致NullPointerException。要修复它,只需在引用XML中使用的任何小部件之前调用
setContentView()
。它通常在调用
super()
后直接调用。

W/dalvikvm(403):threadid=1:thread带未捕获异常退出(group=0x40015560),这种错误消息有帮助吗?没有,你能在try-catch块中包含代码,并在catch块中打印堆栈跟踪,然后发布吗?我得到了空指针异常,但为什么会这样呢?我在我的另一个程序上做了所有正常工作的声明。你所说的正是我在发布问题之前所做的,但是它不起作用。在这种情况下,请提供NullPointerException的整个LogCat堆栈跟踪以及相关代码。它现在起作用了。我匆忙删除了部分代码/注释,因为您似乎不耐烦地等待,所以我不知道我更改了什么。无论如何,谢谢。如果我给你留下这样的印象,我很抱歉:P如果你能添加最终的解决方案作为答案,并接受作为未来访客的参考,那将是非常好的。对不起,我弄错了。这个问题仍然没有解决。我用xml设置了文本,我认为它可以工作。通过try-and-catch,它能够阻止程序崩溃,但它仍然没有设置文本。
D/dalvikvm(443): Debugger has detached; object registry had 1 entries
I/AndroidRuntime(443): NOTE: attach of thread 'Binder Thread #3' failed
D/prob(363): java.lang.NullPointerException
D/float create(363): 0.0
I/ActivityManager(60): Displayed te.de11/.For12junonly2Activity: +1s29ms
D/dalvikvm(127): GC_EXPLICIT freed 66K, 52% free 2855K/5895K, external 4998K/6087K, paused 44ms