1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

Probleme mit Objekten!

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von samle, 23.06.2012.

  1. samle, 23.06.2012 #1
    samle

    samle Threadstarter Neuer Benutzer

    Beiträge:
    2
    Erhaltene Danke:
    0
    Registriert seit:
    23.06.2012
    Hallo,
    als erstes ein großes Lob an das Forum. Es hat mir schon oft geholfen.
    Doch nun habe ich seit längeren ein Problem mit Objekten:

    Code:
    import android.app.Activity;
    import android.graphics.Color;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.TextView;
    
    public class SereActivity extends Activity implements OnClickListener {
    	  Button b1;
    	  TextView t1;
    	Spieler com;
    	
        /** Called when the activity is first created. */
        @Override
      
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            b1 = (Button) findViewById(R.id.button1);
            t1 = (TextView) findViewById(R.id.twextview);
            b1.setOnClickListener(this);
        }
    	public void onClick(View v) {
    		com.wahl = "schere";
    		boom();
    		
    	}
    	public void boom (){
    		t1.setTextColor(Color.BLUE);
    		
    	}
    	
    	public class Spieler {
    		
    		String wahl;
    
    
    		}
    
    	
    
    }
    Beim Betätigen des Button kommt immer die Fehlermeldung "The applcation has stopped unexpectly.". Ich habe herraus gefunden, dass es an der Zeile com.wahl = "schere"; liegt, aber bei "normalen" Java funktioniert es tadelos.
    Vielen Dank für die Mühe
    Mfg
    Samle
     
  2. Sentenza, 24.06.2012 #2
    Sentenza

    Sentenza Erfahrener Benutzer

    Beiträge:
    224
    Erhaltene Danke:
    65
    Registriert seit:
    15.08.2011
    Also ich muss erstmal sagen dass ich selbst Java-Neuling bin, und daher nichts dazu sagen kann warum es im normalen Java funktioniert, aber normalerweise muss man von einem Objekt erst eine Instanz erzeugen, sonst bekommen man eine Nullpointer-Exception. Also com = new Spieler();
    Desweiteren greift man soweit ich weiß normalerweise nicht auf Felder (in deinem Fall "wahl") von ausserhalb einer Klasse zu, sondern benutzt dafür Getter/Setter, es ist allerdings wohl legal es trotzdem zu machen, nur halt nicht üblich.
     
    samle bedankt sich.
  3. DagobertDokate, 24.06.2012 #3
    DagobertDokate

    DagobertDokate Android-Lexikon

    Beiträge:
    1,095
    Erhaltene Danke:
    92
    Registriert seit:
    01.07.2010
    Phone:
    Samsung Galaxy Note 4
    Dieser code läuft auch nicht auf "normalen" java ...

    Gesendet von meinem GT-I9300 mit der Android-Hilfe.de App
     
  4. snowman2, 24.06.2012 #4
    snowman2

    snowman2 Erfahrener Benutzer

    Beiträge:
    153
    Erhaltene Danke:
    18
    Registriert seit:
    07.12.2011
    Du kannst auch mal ins Logcat schauen oder deine App im Debugger step-by-step laufen lassen.
     
  5. samle, 24.06.2012 #5
    samle

    samle Threadstarter Neuer Benutzer

    Beiträge:
    2
    Erhaltene Danke:
    0
    Registriert seit:
    23.06.2012
    In der Tat hat Sentenza richtig gelegen. Da ich das Programm erst bei dem Java geschrieben habe und dann die Befehle (so weit möglich übernommen habe), hab ich die wohl übersehen. Ich bin fast an einem so trivialen Problem verzweifelt.
    Aber auch vielen dank an DagobertDokate, und snowman2. :)
     

Diese Seite empfehlen