我指的是Using MySurfaceView with main.xml (android),代碼爲「textView1.setText(」set「);」在onCreate方法裏面會出現錯誤(tv1 =(TextView)findViewById(R.id.tv1); - declare工作正常)。我該如何解決這個問題?預先感謝您的幫助。使用SurfaceView與xml
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"
/>
錯誤信息
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
什麼是錯誤? –
W/dalvikvm(403):threadid = 1:線程退出時未捕獲異常(group = 0x40015560),這種錯誤消息有幫助嗎? – Amblll
不是真的,你可以附上一個try-catch塊的代碼,並在catch塊中打印堆棧跟蹤併發布? –