Autore Topic: Surface View in layout crasha  (Letto 1197 volte)

Zate

  • Visitatore
Surface View in layout crasha
« il: 19 Settembre 2011, 17:37:00 CEST »
0
Il mio obiettivo è aggiungere due pulsanti in una Surface View. Sto cercando di fare ciò aggiungendo una SurfaceView in un Layout.
Questo è l'XML:
Codice (XML): [Seleziona]
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/verticalroll" android:layout_height="fill_parent" android:layout_width="fill_parent">
        <SurfaceView android:id="@+id/rollsurface"
                android:layout_width="match_parent" android:layout_height="315dp"
                android:layout_alignParentBottom="true" android:layout_alignParentTop="true"></SurfaceView>
        <Button android:text=" " android:id="@+id/bPause"
                android:layout_width="120dp" android:background="@drawable/pause"
                android:layout_height="50dp" android:layout_alignParentTop="true"
                android:layout_alignParentRight="true"></Button>
        <TextView android:id="@+id/textView1" android:layout_width="200dp"
                android:text="TextView" android:background="@drawable/customscore"
                android:layout_height="75dp" android:layout_alignParentTop="true"
                android:layout_alignParentLeft="true"></TextView>
</RelativeLayout>

E questo il Java:


Codice (Java): [Seleziona]
package com.vertical.roll;

import java.util.Random;

import com.vertical.roll.R;
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.Window;
import android.view.WindowManager;
import android.view.View.OnTouchListener;
import android.widget.Button;

public class VerticalRollActivity extends Activity implements OnTouchListener {
 
        MyBringBackSurface ourSurfaceView;
        float x, y;
        Bitmap background;
        Canvas canvas;
        Button bPause;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                // TODO Auto-generated method stub
                super.onCreate(savedInstanceState);
                requestWindowFeature(Window.FEATURE_NO_TITLE);
                getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                                WindowManager.LayoutParams.FLAG_FULLSCREEN);
                ourSurfaceView = (MyBringBackSurface) findViewById(R.layout.verticalroll);
                ourSurfaceView.setOnTouchListener(this);
                x = 0;
                y = 0;
        Random backgroundselector = new Random();
       
        switch(backgroundselector.nextInt(3)){
        case(0):
            background = BitmapFactory.decodeResource(getResources(), R.drawable.backgroundyellow);            
            break;
        case(1):
            background = BitmapFactory.decodeResource(getResources(), R.drawable.backgroundblue);            
            break;
        case(2):
                background = BitmapFactory.decodeResource(getResources(), R.drawable.backgroundgreen);            
            break;
        }    
                setContentView(R.layout.verticalroll);
        }

        @Override
        protected void onPause() {
                // TODO Auto-generated method stub
                super.onPause();
                ourSurfaceView.pause();
        }

        @Override
        protected void onResume() {
                // TODO Auto-generated method stub
                super.onResume();
                ourSurfaceView.resume();
        }

        @Override
        public boolean onTouch(View v, MotionEvent event) {
                // TODO Auto-generated method stub
               
                try {
                        Thread.sleep(50);
                } catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
               
                x = event.getX();
                y = event.getY();
                return true;
        }

        public class MyBringBackSurface extends SurfaceView implements Runnable {

                SurfaceHolder ourHolder;
                Thread ourThread = null;
                boolean isRunning = true;

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

                @Override
                public void draw(Canvas canvas) {
                        // TODO Auto-generated method stub
                        super.draw(canvas);
                       
                }

                public void pause() {
                        isRunning = false;
                        while (true) {
                                try {
                                        ourThread.join();
                                } catch (InterruptedException e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                }
                                break;
                        }
                        ourThread = null;
                }

                public void resume() {
                        isRunning = true;
                        ourThread = new Thread(this);
                        ourThread.start();
                }

                @Override
                public void run() {
                        // TDO Auto-generated method stub
                        while (isRunning) {
                                if (!ourHolder.getSurface().isValid())

                                        continue;
                Canvas canvas = ourHolder.lockCanvas();
                canvas.drawBitmap(background, 0, 0, null);
                                if (x != 0 && y != 0) {
                                        Bitmap test = BitmapFactory.decodeResource(getResources(),
                                                        R.drawable.rsz_greenball);
                                         
                                        canvas.drawBitmap(test, x-test.getWidth()/2,y-test.getHeight()/2, null);
                                }
                                ourHolder.unlockCanvasAndPost(canvas);
                        }
                }

        }

}

In questo modo crasha.

Ma se cambio
Codice (Java): [Seleziona]
ourSurfaceView = (MyBringBackSurface) findViewById(R.layout.verticalroll);con
Codice (Java): [Seleziona]
ourSurfaceView = new MyBringBackSurface(this);non crasha, ma non la SurfaceView non si carica... Come fare?
« Ultima modifica: 20 Settembre 2011, 18:40:25 CEST da Zate »

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Surface View in layout crasha
« Risposta #1 il: 20 Settembre 2011, 12:31:55 CEST »
0
dov'è verticalroll nel layout, che non lo vedo?
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Zate

  • Visitatore
Re:Surface View in layout crasha
« Risposta #2 il: 20 Settembre 2011, 18:39:54 CEST »
0
Scusa, non l'ho aggiunto qui dopo una modifica (avevo messo il relative layout dentro un linear layout, era inutile) Comunque è l'id del relativelayout.
Adesso ho modificato l'xml.

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Surface View in layout crasha
« Risposta #3 il: 20 Settembre 2011, 18:49:40 CEST »
0
Non vorrei prendere una cantonata clamorosa  :D  ma all'inizio della onCreate, subito dopo super.onCreate, non ci dovrebbe essere la setContentView con il tuo layout main.xml come parametro? Altrimenti puoi anche referenziare un id, ma se non indichi in quale layout, è difficile che lo immagini da solo.  :-P
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Zate

  • Visitatore
Re:Surface View in layout crasha
« Risposta #4 il: 20 Settembre 2011, 20:00:34 CEST »
0
C'è... Dopo switch... O ho sbagliato qualcosa? :S
« Ultima modifica: 20 Settembre 2011, 21:01:47 CEST da Zate »

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Surface View in layout crasha
« Risposta #5 il: 20 Settembre 2011, 21:41:57 CEST »
0
Potrebbe essere proprio quello il problema: richiami la surfaceview prima ancora di aver impostato il layout.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Zate

  • Visitatore
Re:Surface View in layout crasha
« Risposta #6 il: 20 Settembre 2011, 22:33:12 CEST »
0
Cambiando il codice così:
Codice (Java): [Seleziona]
setContentView(R.layout.verticalroll);
ourSurfaceView = (MyBringBackSurface) findViewById(R.id.rollsurface);
ourSurfaceView.setOnTouchListener(this);
crasha.
 :-\

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Surface View in layout crasha
« Risposta #7 il: 21 Settembre 2011, 10:10:17 CEST »
0
tra parentesi, nessuno di noi ti ha chiesto di postare il logcat.....
crasha non vuol dire nulla; se guardi il log, noterai sicuramente qual'è il problema.

nell'xml, al posto di SurfaceView, prova a mettere MyBringBackSurface con tutto il path del package completo, esempio: it.pippo.pluto.MyBringBackSurface.
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Zate

  • Visitatore
Re:Surface View in layout crasha
« Risposta #8 il: 21 Settembre 2011, 15:39:11 CEST »
0
Se nell'XML metto com.vertical.roll.MyBringBackSurface il logcat è:
Codice: [Seleziona]
I/ActivityManager( 1693): Start proc com.vertical.roll for activity com.vertical
.roll/.Splash: pid=11122 uid=10062 gids={}
I/ActivityManager( 1693): <!>com.android.server.am.ActivityRecord 444<!> Display
ed com.vertical.roll/.Splash: +388ms (total +18s672ms)
I/ActivityManager( 1693): Starting: Intent { cmp=com.vertical.roll/.Menu } from
pid 11122
I/ActivityManager( 1693): <!>com.android.server.am.ActivityRecord 444<!> Display
ed com.vertical.roll/.Menu: +461ms
I/ActivityManager( 1693): Starting: Intent { cmp=com.vertical.roll/.VerticalRoll
Activity } from pid 11122
W/dalvikvm(11122): threadid=1: thread exiting with uncaught exception (group=0x4
0018560)
E/AndroidRuntime(11122): FATAL EXCEPTION: main
E/AndroidRuntime(11122): java.lang.RuntimeException: Unable to start activity Co
mponentInfo{com.vertical.roll/com.vertical.roll.VerticalRollActivity}: android.v
iew.InflateException: Binary XML file line #4: Error inflating class com.vertica
l.roll.MyBringBackSurface
E/AndroidRuntime(11122):        at android.app.ActivityThread.performLaunchActiv
ity(ActivityThread.java:1651)
E/AndroidRuntime(11122):        at android.app.ActivityThread.handleLaunchActivi
ty(ActivityThread.java:1667)
E/AndroidRuntime(11122):        at android.app.ActivityThread.access$1500(Activi
tyThread.java:117)
E/AndroidRuntime(11122):        at android.app.ActivityThread$H.handleMessage(Ac
tivityThread.java:931)
E/AndroidRuntime(11122):        at android.os.Handler.dispatchMessage(Handler.ja
va:99)
E/AndroidRuntime(11122):        at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(11122):        at android.app.ActivityThread.main(ActivityThrea
d.java:3729)
E/AndroidRuntime(11122):        at java.lang.reflect.Method.invokeNative(Native
Method)
E/AndroidRuntime(11122):        at java.lang.reflect.Method.invoke(Method.java:5
07)
E/AndroidRuntime(11122):        at com.android.internal.os.ZygoteInit$MethodAndA
rgsCaller.run(ZygoteInit.java:874)
E/AndroidRuntime(11122):        at com.android.internal.os.ZygoteInit.main(Zygot
eInit.java:632)
E/AndroidRuntime(11122):        at dalvik.system.NativeStart.main(Native Method)

E/AndroidRuntime(11122): Caused by: android.view.InflateException: Binary XML fi
le line #4: Error inflating class com.vertical.roll.MyBringBackSurface
E/AndroidRuntime(11122):        at android.view.LayoutInflater.createViewFromTag
(LayoutInflater.java:581)
E/AndroidRuntime(11122):        at android.view.LayoutInflater.rInflate(LayoutIn
flater.java:623)
E/AndroidRuntime(11122):        at android.view.LayoutInflater.inflate(LayoutInf
later.java:408)
E/AndroidRuntime(11122):        at android.view.LayoutInflater.inflate(LayoutInf
later.java:320)
E/AndroidRuntime(11122):        at android.view.LayoutInflater.inflate(LayoutInf
later.java:276)
E/AndroidRuntime(11122):        at com.android.internal.policy.impl.PhoneWindow.
setContentView(PhoneWindow.java:207)
E/AndroidRuntime(11122):        at android.app.Activity.setContentView(Activity.
java:1657)
E/AndroidRuntime(11122):        at com.vertical.roll.VerticalRollActivity.onCrea
te(VerticalRollActivity.java:60)
E/AndroidRuntime(11122):        at android.app.Instrumentation.callActivityOnCre
ate(Instrumentation.java:1047)
E/AndroidRuntime(11122):        at android.app.ActivityThread.performLaunchActiv
ity(ActivityThread.java:1615)
E/AndroidRuntime(11122):        ... 11 more
E/AndroidRuntime(11122): Caused by: java.lang.ClassNotFoundException: com.vertic
al.roll.MyBringBackSurface in loader dalvik.system.PathClassLoader[/mnt/asec/com
.vertical.roll-1/pkg.apk]
E/AndroidRuntime(11122):        at dalvik.system.PathClassLoader.findClass(PathC
lassLoader.java:240)
E/AndroidRuntime(11122):        at java.lang.ClassLoader.loadClass(ClassLoader.j
ava:551)
E/AndroidRuntime(11122):        at java.lang.ClassLoader.loadClass(ClassLoader.j
ava:511)
E/AndroidRuntime(11122):        at android.view.LayoutInflater.createView(Layout
Inflater.java:471)
E/AndroidRuntime(11122):        at android.view.LayoutInflater.createViewFromTag
(LayoutInflater.java:570)
E/AndroidRuntime(11122):        ... 20 more
W/ActivityManager( 1693):   Force finishing activity com.vertical.roll/.Vertical
RollActivity

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Surface View in layout crasha
« Risposta #9 il: 21 Settembre 2011, 15:45:35 CEST »
0
Codice (XML): [Seleziona]
Caused by: java.lang.ClassNotFoundException: com.vertical.roll.MyBringBackSurface
il path che hai messo è corretto?
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Surface View in layout crasha
« Risposta #10 il: 21 Settembre 2011, 16:08:03 CEST »
0
Codice (XML): [Seleziona]
Caused by: java.lang.ClassNotFoundException: com.vertical.roll.MyBringBackSurface
il path che hai messo è corretto?

Ho qualche lacuna in questo contesto, ma è possibile che il problema risieda nel fatto che la sua custom view è una inner class?
In tal caso mettendola in un file a sé stante dovrebbe andare, giusto?
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Surface View in layout crasha
« Risposta #11 il: 21 Settembre 2011, 16:11:47 CEST »
0
si.
il problema risiede nella visibilità, quindi o è una inner oppure il path non è corretto.
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Zate

  • Visitatore
Re:Surface View in layout crasha
« Risposta #12 il: 21 Settembre 2011, 17:50:00 CEST »
0
Se inner class è una class dentro un'altra class allora è un inner class :)
Quindi creando una nuova class (a sè stante, insomma) si dovrebbe sistemare?
Appena prendo possesso del pc vi faccio sapere!

Boh... Non sono riuscito... Mi serviva per fare un menù, ho deciso di intercettare il tasto back...
« Ultima modifica: 22 Settembre 2011, 22:22:13 CEST da Zate »

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Surface View in layout crasha
« Risposta #13 il: 23 Settembre 2011, 10:07:39 CEST »
0
posta un po' di codice della classe in questione e vediamo.
comunque direi di risolverlo il problema, no?
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Zate

  • Visitatore
Re:Surface View in layout crasha
« Risposta #14 il: 23 Settembre 2011, 15:37:06 CEST »
0
Certamente!

VerticalRollActivity.java

Codice (Java): [Seleziona]
package com.vertical.roll;

import com.vertical.roll.R;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.View.OnTouchListener;

public class VerticalRollActivity extends Activity implements OnTouchListener {

        MyBringBackSurface ourSurfaceView;
        float x, y;
        Bitmap background;
        Canvas canvas;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                // TODO Auto-generated method stub
                super.onCreate(savedInstanceState);
                requestWindowFeature(Window.FEATURE_NO_TITLE);
                getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                                WindowManager.LayoutParams.FLAG_FULLSCREEN);
                ourSurfaceView = (MyBringBackSurface) findViewById(R.layout.verticalroll);
                ourSurfaceView.setOnTouchListener(this);
                setContentView(R.layout.verticalroll);
        }

        @Override
        protected void onPause() {
                // TODO Auto-generated method stub
                super.onPause();
                ourSurfaceView.pause();
        }

        @Override
        protected void onResume() {
                // TODO Auto-generated method stub
                super.onResume();
                ourSurfaceView.resume();
        }

        @Override
        public boolean onTouch(View v, MotionEvent event) {
                // TODO Auto-generated method stub

                try {
                        Thread.sleep(50);
                } catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }

                x = event.getX();
                y = event.getY();
                return true;
        }

}

MyBringBackSurface.java

Codice (Java): [Seleziona]
package com.vertical.roll;

import java.util.Random;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.view.SurfaceHolder;
import android.view.SurfaceView;

public class MyBringBackSurface extends SurfaceView implements Runnable {

        SurfaceHolder ourHolder;
        float x, y;
        Bitmap background;
        Thread ourThread = null;
        boolean isRunning = true;

        public MyBringBackSurface(Context context) {
                // TODO Auto-generated constructor stub
                super(context);
                x = 0;
                y = 0;
                Random backgroundselector = new Random();

                switch (backgroundselector.nextInt(3)) {
                case (0):
                        background = BitmapFactory.decodeResource(getResources(),
                                        R.drawable.backgroundyellow);
                        break;
                case (1):
                        background = BitmapFactory.decodeResource(getResources(),
                                        R.drawable.backgroundblue);
                        break;
                case (2):
                        background = BitmapFactory.decodeResource(getResources(),
                                        R.drawable.backgroundgreen);
                        break;
                }
                ourHolder = getHolder();

        }

        @Override
        public void draw(Canvas canvas) {
                // TODO Auto-generated method stub
                super.draw(canvas);

        }

        public void pause() {
                isRunning = false;
                while (true) {
                        try {
                                ourThread.join();
                        } catch (InterruptedException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        }
                        break;
                }
                ourThread = null;
        }

        public void resume() {
                isRunning = true;
                ourThread = new Thread(this);
                ourThread.start();
        }

        @Override
        public void run() {
                // TDO Auto-generated method stub
                while (isRunning) {
                        if (!ourHolder.getSurface().isValid())

                                continue;
                        Canvas canvas = ourHolder.lockCanvas();
                        canvas.drawBitmap(background, 0, 0, null);
                        if (x != 0 && y != 0) {
                                Bitmap test = BitmapFactory.decodeResource(getResources(),
                                                R.drawable.rsz_greenball);

                                canvas.drawBitmap(test, x - test.getWidth() / 2,
                                                y - test.getHeight() / 2, null);
                        }
                        ourHolder.unlockCanvasAndPost(canvas);
                }
        }

}

verticalroll.xml

Codice (XML): [Seleziona]
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/verticalroll" android:layout_height="fill_parent"
        android:layout_width="fill_parent">
        <com.vertical.roll.MyBringBackSurface xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/rollsurface" android:layout_width="fill_parent"
                android:layout_height="fill_parent" android:layout_alignParentBottom="true"
                android:layout_alignParentTop="true"></com.vertical.roll.MyBringBackSurface>   
        <Button android:text=" " android:id="@+id/bPause"
                android:layout_width="120dp" android:background="@drawable/pause"
                android:layout_height="55dp" android:layout_alignParentTop="true"
                android:layout_alignParentRight="true"></Button>
        <TextView android:id="@+id/tvScore" android:layout_width="200dp"
                android:text="TextView" android:background="@drawable/customscore"
                android:layout_height="75dp" android:layout_alignParentTop="true"
                android:layout_alignParentLeft="true"></TextView>
</RelativeLayout>


LogCat:

Codice: [Seleziona]

I/ActivityManager( 1689): Starting: Intent { cmp=com.vertical.roll/.VerticalRoll
Activity } from pid 8798
W/dalvikvm( 8798): threadid=1: thread exiting with uncaught exception (group=0x4
0018560)
E/AndroidRuntime( 8798): FATAL EXCEPTION: main
E/AndroidRuntime( 8798): java.lang.RuntimeException: Unable to start activity Co
mponentInfo{com.vertical.roll/com.vertical.roll.VerticalRollActivity}: java.lang
.NullPointerException
E/AndroidRuntime( 8798):        at android.app.ActivityThread.performLaunchActiv
ity(ActivityThread.java:1651)
E/AndroidRuntime( 8798):        at android.app.ActivityThread.handleLaunchActivi
ty(ActivityThread.java:1667)
E/AndroidRuntime( 8798):        at android.app.ActivityThread.access$1500(Activi
tyThread.java:117)
E/AndroidRuntime( 8798):        at android.app.ActivityThread$H.handleMessage(Ac
tivityThread.java:931)
E/AndroidRuntime( 8798):        at android.os.Handler.dispatchMessage(Handler.ja
va:99)
E/AndroidRuntime( 8798):        at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 8798):        at android.app.ActivityThread.main(ActivityThrea
d.java:3729)
E/AndroidRuntime( 8798):        at java.lang.reflect.Method.invokeNative(Native
Method)
E/AndroidRuntime( 8798):        at java.lang.reflect.Method.invoke(Method.java:5
07)
E/AndroidRuntime( 8798):        at com.android.internal.os.ZygoteInit$MethodAndA
rgsCaller.run(ZygoteInit.java:874)
E/AndroidRuntime( 8798):        at com.android.internal.os.ZygoteInit.main(Zygot
eInit.java:632)
E/AndroidRuntime( 8798):        at dalvik.system.NativeStart.main(Native Method)

E/AndroidRuntime( 8798): Caused by: java.lang.NullPointerException
E/AndroidRuntime( 8798):        at com.vertical.roll.VerticalRollActivity.onCrea
te(VerticalRollActivity.java:29)
E/AndroidRuntime( 8798):        at android.app.Instrumentation.callActivityOnCre
ate(Instrumentation.java:1047)
E/AndroidRuntime( 8798):        at android.app.ActivityThread.performLaunchActiv
ity(ActivityThread.java:1615)
E/AndroidRuntime( 8798):        ... 11 more
W/ActivityManager( 1689):   Force finishing activity com.vertical.roll/.Vertical
RollActivity
W/ActivityManager( 1689):   Force finishing activity com.vertical.roll/.Menu



Ho sbagliato a fare qualcosa con il Thread di onTouch?