2012-03-25 71 views
-3

这里是我创建的类的代码,它扩展了MainActivity,我该如何从MainActivity调用它? 我想弄清楚我在引用我的表面视图类时出错的位置,而不是我的视图。我只是以此为例。这是我的主类:如何链接下面显示的类与主要活动

import android.app.Activity; 
import android.content.Context; 
import android.graphics.Bitmap; 
import android.graphics.BitmapFactory; 
import android.graphics.Canvas; 
import android.os.Bundle; 
import android.view.MotionEvent; 
import android.view.SurfaceHolder; 
import android.view.SurfaceView; 
import android.view.View; 
import android.view.View.OnTouchListener; 

public class SurfaceViewExample extends Activity implements OnTouchListener{ 

    OurView v; 
    Bitmap ball; 
    float x,y; 

    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     v=new OurView(this); 
     v.setOnTouchListener(this); 
     ball=BitmapFactory.decodeResource(getResources(),R.drawable.tennis_ball); 
     x = y = 0; 
     setContentView(v); 
    } 

    protected void onResume() { 
     // TODO Auto-generated method stub 
     super.onResume(); 
     v.resume(); 
    } 
    public class OurView extends SurfaceView implements Runnable{ 
     Thread t; 

     SurfaceHolder holder; 

     boolean isItOk=false; 

    public OurView(Context context) { 
     super(context); 
     // TODO Auto-generated constructor stub 
     holder=getHolder(); 
    } 


    public void run() { 

     // TODO Auto-generated method stub 

     while(isItOk ==true) 
     { 
     //drawing 
     if(holder.getSurface().isValid()) { 

      continue; 

     } 

    Canvas c=holder.lockCanvas(); 
     c.drawARGB(255,150,150,10);  
     c.drawBitmap(ball, x+(ball.getWidth()/4), y+(ball.getHeight()), null); 

     holder.unlockCanvasAndPost(c);  

     } 
    } 
    public void pause() 
    { 
     isItOk=false; 
     while(true) { 
      try { 
       t.join(); 
      }catch(InterruptedException e) { 

       e.printStackTrace(); 

      } 
      break; 

     } 
    } 

    public void resume() 
    { 
     isItOk=true; 
     t=new Thread(this); 
     t.start(); 
    } 

    } 
    public boolean onTouch(View v, MotionEvent event) { 
    // TODO Auto-generated method stub 
    return false; 
     } 




    } 
+0

当你为它使用'Intent'时会发生什么? – sastraxi 2012-03-25 06:10:43

+0

如何使用意图? – Madhukeshwara 2012-03-25 06:17:51

+1

'意图'是你如何在Android中的'活动'之间导航。阅读并尝试了解http://developer.android.com/guide/topics/intents/intents-filters.html。如果您遇到问题,请在这里提出一个关于您遇到的具体问题的新问题! – sastraxi 2012-03-25 06:19:08

回答