Fehlermeldung, brauche Hilfe.

AaronMaster

Mitglied
Ich kriege eine Java NullpointerException kann mir aber nicht erklären wieso. Dies geschieht laut LogCat in der fillTextView methode, wo ich den die methode setText aufrufe.
Java:
package tapthefrog.graphitentertainment.de.tapthefrog;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import java.util.Random;



public class MyActivity extends Activity implements View.OnClickListener{

    private static final int FROG_ID = 3214565;
    private int points;
    private int round;
    private int countdown;
    private ImageView frog;
    private Random rnd = new Random();
    private Handler handler = new Handler();



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_my);
            showStartFragment();
    }



    private void newGame() {
        points= 0;
        round=1;
        initRound();
    }




    private void initRound() {
        countdown= 10;
        ViewGroup container = (ViewGroup) findViewById(R.id.container);
        container.removeAllViews();
        WimmelView wv = new WimmelView(this);
        container.addView(wv, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
        wv.setImageCount(8 * (10 + round));
        frog = new ImageView(this);
        frog.setId(FROG_ID);
        frog.setImageResource(R.drawable.frog);
        frog.setScaleType(ImageView.ScaleType.CENTER);
        float scale = getResources().getDisplayMetrics().density;
        FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(Math.round(64*scale),Math.round(61*scale));
        lp.leftMargin = rnd.nextInt(container.getWidth()-64);
        lp.topMargin = rnd.nextInt(container.getHeight()-61);
        lp.gravity = Gravity.TOP + Gravity.LEFT;
        frog.setOnClickListener(this);
        container.addView(frog, lp);
        update();
        handler.postDelayed(runnable, 1000-round*50);
    }

    private void update() {
        fillTextView(R.id.points, Integer.toString(points)+" ");
        fillTextView(R.id.round, " "+Integer.toString(round));
        fillTextView(R.id.countdown, Integer.toString(countdown*1000)+" ");
    }

    private void fillTextView(int id, String text) {
        TextView tv = (TextView)findViewById(id);
        tv.setText(text);
    }






    private void showStartFragment(){
        ViewGroup container = (ViewGroup) findViewById(R.id.container);
        container.removeAllViews();
        container.addView(getLayoutInflater().inflate(R.layout.fragment_start, null));
        container.findViewById(R.id.start).setOnClickListener(this);
    }

    private void showGameOverFragment(){
        ViewGroup container = (ViewGroup) findViewById(R.id.container);
        container.addView( getLayoutInflater().inflate(R.layout.fragment_gameover, null) );
        container.findViewById(R.id.play_again).setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        if(v.getId() == R.id.start){
            startGame();
        }
        else if(v.getId() == R.id.play_again) {
            showStartFragment();
        } else if(v.getId()==FROG_ID){
            handler.removeCallbacks(runnable);
            Toast.makeText(this, R.string.tapped, Toast.LENGTH_SHORT).show();
            points += countdown*1000;
            round++;
            initRound();
        }
    }

    private void startGame() {
        newGame();
    }
    private void countdown(){
        countdown--;
        update();
        if(countdown<= 0){
            frog.setOnClickListener(null);
            showGameOverFragment();
        } else {
            handler.postDelayed(runnable, 1000-round*50);
        }
    }

    private Runnable runnable = new Runnable(){
        @Override
        public void run(){
            countdown();
        }
    };

    @Override
    protected void onPause(){
        super.onPause();
        handler.removeCallbacks(runnable);
    }



}


8586-8586/tapthefrog.graphitentertainment.de.tapthefrog E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NullPointerException
at tapthefrog.graphitentertainment.de.tapthefrog.MyActivity.fillTextView(MyActivity.java:79)
at tapthefrog.graphitentertainment.de.tapthefrog.MyActivity.update(MyActivity.java:71)
at tapthefrog.graphitentertainment.de.tapthefrog.MyActivity.initRound(MyActivity.java:66)
at tapthefrog.graphitentertainment.de.tapthefrog.MyActivity.newGame(MyActivity.java:42)
at tapthefrog.graphitentertainment.de.tapthefrog.MyActivity.startGame(MyActivity.java:117)
at tapthefrog.graphitentertainment.de.tapthefrog.MyActivity.onClick(MyActivity.java:103)
 
Zuletzt bearbeitet:

JavaMeister

Gesperrter Benutzer
1. Schlechter Titel
2. Google mal den Fehler. Erscheint mir trivial.

Problem ist, dass man die NPE Fehler im Forum nie findet, weil die Titel dazu immer nix mit NPE zu tun haben.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Android Auf ImageView aus einem anderen Thread zugreifen liefert Fehlermeldung (App stürzt ab) Android & Cross-Platform Mobile Apps 5
M Unsupported class file major version 57 - Fehlermeldung bei Android Studio Android & Cross-Platform Mobile Apps 27
Light Lux Fehlermeldung unter Android Studio Android & Cross-Platform Mobile Apps 1
S "Mulitble root tags Error" - was sagt diese Fehlermeldung aus? Android & Cross-Platform Mobile Apps 3
V Android Fehlermeldung beim Öffnen von Eclipse nach Installation der Android Erweiterung Android & Cross-Platform Mobile Apps 4
B graphi.addSeries()...Fehlermeldung: The method addSeries(GraphViewSeries) in the type GraphView is Android & Cross-Platform Mobile Apps 2
A Fehlermeldung beim ändern der ViewGroup. Android & Cross-Platform Mobile Apps 6
G Fehlermeldung "'App-Name' wurde leider beendet." bei onPause Android & Cross-Platform Mobile Apps 2
G xml - Fehlermeldung "No grammar constraints (DTD or XML Schema) referenced in the document." Android & Cross-Platform Mobile Apps 1
A Werde aus Fehlermeldung nicht schlau.... :-( Android & Cross-Platform Mobile Apps 2
G Fehlermeldung: "No XML content. Please add a root view or layout to your documet." Android & Cross-Platform Mobile Apps 7
A Fehlermeldung nach Neuinstallation von Eclipse/bestehenden Projekten... Android & Cross-Platform Mobile Apps 2
F Android Fehlermeldung bei onClick-Methode Android & Cross-Platform Mobile Apps 2
A Midlet bei Fehler elegant beenden mit Fehlermeldung Android & Cross-Platform Mobile Apps 4
M height, layout_height, width und layout_width - Wann brauche ich was warum? Android & Cross-Platform Mobile Apps 1
A mCommerce: Brauche mobile Version von Website Android & Cross-Platform Mobile Apps 1
P Brauche Hilfe bei Code Snippet Android & Cross-Platform Mobile Apps 10
B Brauche Screengröße in pixel angaben Android & Cross-Platform Mobile Apps 5
R Fehlersuche - brauche eure Hilfe Android & Cross-Platform Mobile Apps 10
M Android Kotlin: Bitte dringend um Hilfe Android & Cross-Platform Mobile Apps 2
Mo1234 Plattform in einer App. Bitte um Hilfe! Android & Cross-Platform Mobile Apps 8
M Hilfe bei App Programmierung für Android Android & Cross-Platform Mobile Apps 1
D Hilfe! es geht um Buttons und Sounds Android & Cross-Platform Mobile Apps 14
N Android Hilfe string to float geht nicht... Android & Cross-Platform Mobile Apps 4
L Android Hilfe bei Passwort einlesen Android & Cross-Platform Mobile Apps 5
M Telefonbuch in J2ME programmieren HILFE! Android & Cross-Platform Mobile Apps 34

Ähnliche Java Themen

Neue Themen


Oben