Strict Standards: Non-static method utf_normalizer::nfc() should not be called statically in /www/htdocs/w006661d/anddev/includes/utf/utf_tools.php on line 1781
[phpBB Debug] PHP Notice: in file /bbc_download.php on line 73: Cannot modify header information - headers already sent by (output started at /includes/utf/utf_tools.php:1781)
[phpBB Debug] PHP Notice: in file /bbc_download.php on line 74: Cannot modify header information - headers already sent by (output started at /includes/utf/utf_tools.php:1781)
[phpBB Debug] PHP Notice: in file /bbc_download.php on line 75: Cannot modify header information - headers already sent by (output started at /includes/utf/utf_tools.php:1781)
[phpBB Debug] PHP Notice: in file /bbc_download.php on line 76: Cannot modify header information - headers already sent by (output started at /includes/utf/utf_tools.php:1781)
[phpBB Debug] PHP Notice: in file /bbc_download.php on line 77: Cannot modify header information - headers already sent by (output started at /includes/utf/utf_tools.php:1781)
[phpBB Debug] PHP Notice: in file /bbc_download.php on line 78: Cannot modify header information - headers already sent by (output started at /includes/utf/utf_tools.php:1781)
package edu.elon.cs; import android.content.Context; import android.os.Handler; import android.os.Message; import android.util.AttributeSet; import android.view.MotionEvent; import android.widget.FrameLayout; // extends FrameLayout so I can use addView(Ball) public class ScreenView extends FrameLayout { // required constructor from extending FrameLayout public ScreenView(Context context) { super(context); } // required constructor from extending FrameLayout public ScreenView(Context context, AttributeSet attrs) { super(context, attrs); } // if you touch anywhere on the screen, a Ball is drawn public boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { addBall(); } return false; // QUESTION #1: does it matter if this is true or false? } // method to actually draw the ball public void addBall() { // Ball needs a reference to this context, so I pass it in constructor Ball newBall = new Ball(getContext()); // addView(View) is a built-in method in FrameLayout // it automatically calls onDraw(Canvas) in the Ball object // Ball extends View, which is where onDraw comes from addView(newBall); // create a new thread to manager the animation part of the ball // Pass in refs to the individual ball, thread handler, this ScreenView BallThread thread = new BallThread(newBall, handler, this); // start the thread, which starts the animation thread.start(); } // define the handler that gets triggered when the Thread says so private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { // get the Ball obj that I put in the Message when I triggered it Ball myBall = (Ball) msg.obj; // invalidate() redraws the ball, this is what redraws the pixels myBall.invalidate(); } }; }