# Fehler ohne Sinn? java.lang.RuntimeException: Unable to start activity ComponentInfo



## M4RC2 (19. Mrz 2014)

Hallo Leute,


ich bin zwar kein Profi, aber ich habe hier einen Fehler vor mir der bei ca 70% meiner AppNutzer auftaucht! Immer derselbe! Auf meinem Handy funktioniert alles :/

Erstmal hier der Fehler:

```
java.lang.RuntimeException: Unable to start activity ComponentInfo{m4rc.de.dichtometer/m4rc.de.dichtometer.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2295)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349)
at android.app.ActivityThread.access$700(ActivityThread.java:159)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:5419)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at m4rc.de.dichtometer.MainActivity.calc(MainActivity.java:162)
at m4rc.de.dichtometer.MainActivity.onCreate(MainActivity.java:60)
at android.app.Activity.performCreate(Activity.java:5372)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2257)
... 11 more
```

Aus dem Fehler hab ich 2 Dinge entnommen:
at m4rc.de.dichtometer.MainActivity.calc(MainActivity.java:162)
at m4rc.de.dichtometer.MainActivity.onCreate(MainActivity.java:60)

Mit dem Rest kann ich nichts anfangen...

at m4rc.de.dichtometer.MainActivity.calc(MainActivity.java:162)
In dieser Zeile steht folgendes: TextView bier05tv = (TextView) findViewById(R.id.output05); bier05tv.setText("" + bier05);


Das Textview aus XML:

```
<TextView
        android:id="@+id/output05"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/bier05button"
        android:layout_below="@+id/bier05button"
        android:text="@+id/b05t" />
```

In Eclipse wird die ID gefunden und zugeordnet! Ich habe keine Fehler und auch "bier05" wird ordentlich definiert:
int bier05 = getSharedPreferences("bier05", MODE_PRIVATE).getInt("bier05", 0);



Der andere Fehler den ich herausgefiltert habe (Zeile 60) ist eine "Verlinkung" auf "calc()"
Da sich der erste Fehler in calc() befindet, gehe ich davon aus, dass das nur eine Reaktion auf diesen Fehler war...


Ich würde ungern meinen kompletten Code hier im Forum teilen.
Falls es nicht anders geht, bin ich aber bereit es zutun....


Wer hat eine Idee?`


Marc


----------



## VfL_Freak (20. Mrz 2014)

Moin, 

das Enstscheidende sind die beiden ersten Zeilen!

Es fliegt eine NullPointerException (d. h. "irgendwas" ist NULL) und zwar hier:
ActivityThread.java:2295

Mehr kann ich Dir ohne den relevanten Code auch nicht sagen ....

Gruß
Klaus


----------



## dzim (20. Mrz 2014)

Sorry @VfL_Freak, dass ich widersprechen muss, aber das entscheidende sind nicht die ersten beiden Zeilen, sondern  diese hier:

```
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at m4rc.de.dichtometer.MainActivity.calc(MainActivity.java:162)
at m4rc.de.dichtometer.MainActivity.onCreate(MainActivity.java:60)
```

@M4RC2: Ich muss mich fragen, ob du schon mal Stacktraces gelesen hast, denn genauer als das hier, geht es schon nicht mehr! 

Ich kenne das grundsätzliche Problem aber: Die App, die ich weiter entwickle hatte vor kurzem auch eine Reihe von Crashes, die ich nicht nachvollziehen konnte. Am Ende habe ich alle Fälle von möglichen und unmöglichen NullPointerExceptions abgefangen. der Code wurde dadurch wirklich eklig, aber am Ende hatte es keine Abstürze mehr. Immerhin etwas gutes ist bei der Aktion herausgekommen.


----------



## hauptDev (20. Mrz 2014)

Also die calc Methode müsste man schon mal sehen um evtl. genaueres sagen zu können. Tritt das denn nur bei bestimmten Versionen/Modellen auf?

Gesendet von meinem Cat Tablet PHOENIX 8.1J0 mit Tapatalk


----------



## VfL_Freak (20. Mrz 2014)

Moin,


dzim hat gesagt.:


> Sorry @VfL_Freak, dass ich widersprechen muss, aber das entscheidende sind nicht die ersten beiden Zeilen


ja, ok - überredet ;-)
Ist wohl doch noch zu früh :autsch:

Gruß
Klaus


----------



## M4RC2 (20. Mrz 2014)

Okay, ich gebe mal meinen Code Preis: 
Es gibt übrigens keine Gemeinsamkeiten bezüglich der Fehler! Auf manchen Smartphones läufts, auf anderen nicht!


```
/*
 * W A T S O N - A L G O R I T H M U S
Variablen
a	 = 	Alter in Jahren
s	 = 	Größe in cm
w	 = 	Gewicht in kg
f	 = 	Menge in ml
p	 = 	Alkoholgehalt des Getränks in Prozent
m	 = 	Mahlzeit
		1,0 = kleine Mahlzeit
		1,5 = normale Mahlzeit
		2,0 = grosse Mahlzeit
t	 = 	Zeit in Stunden nach dem letzten Getränk
b	 = 	Blutalkoholwert in Promille
Hilfs-Berechnung
männlich
  h = 2,447 - 0,0952 * a + 0,1074 * s + 0,3362 * w;
weiblich
  h = 0,203 - 0,07 * a + 0,1069 * s + 0,2466 * w;
Berechnung
b = 0,8 / h * ( f * p / 100 );

b = b - ( m + t ) * 0,1;
 * 
 * 
 * 
 */

package m4rc.de.dichtometer;



import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
     
   
        
        startscreen();
        checksettings();
        calc();
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        //Menue
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.main, menu);
        return true;
    }
    
    public boolean onOptionsItemSelected(MenuItem item){

    	if(item.toString().equals("Einstellungen")){
    		setContentView(R.layout.settings);
    	}
    	if(item.toString().equals("Credits")){
    		setContentView(R.layout.credits);
    	}
    	if(item.toString().equals("Startseite")){
    		setContentView(R.layout.activity_main);
    	}
    	if(item.toString().equals("Reset")){
    		setContentView(R.layout.reset);
    	}
    return true;
    }
    
    public void startscreen(){
    	int a = getSharedPreferences("settings", MODE_PRIVATE).getInt("years", 0);
        int s = getSharedPreferences("settings", MODE_PRIVATE).getInt("cm", 0);
        String eingabe = getSharedPreferences("settings", MODE_PRIVATE).getString("sex", "0");
        
        TextView setanzeige = (TextView) findViewById(R.id.setanzeige1); setanzeige.setText("" + a + " Jahre - " + s + "cm - " + eingabe);
        
        timer("difference");
    
    }
    
    public void checksettings() {
    int checkold = getSharedPreferences("settings", MODE_PRIVATE).getInt("years", 0);
    if(checkold==0){
    	setContentView(R.layout.settings);
    }
    }
    public void Clickbier05(View view){
    	int name2 = getSharedPreferences("bier05", MODE_PRIVATE).getInt("bier05", 0);
    	int a = 1;
    	int newint = name2 + a;
    	getSharedPreferences("bier05", MODE_PRIVATE).edit().putInt("bier05", newint).commit(); 
    	calc();
    }
    
    public void Clickbier033(View view){
    	int name2 = getSharedPreferences("bier033", MODE_PRIVATE).getInt("bier033", 0);
    	int a = 1;
    	int newint = name2 + a;
    	getSharedPreferences("bier033", MODE_PRIVATE).edit().putInt("bier033", newint).commit(); 
    	calc();
    }
    
    public void Clickmas(View view){
    	int name2 = getSharedPreferences("mas", MODE_PRIVATE).getInt("mas", 0);
    	int a = 1;
    	int newint = name2 + a;
    	getSharedPreferences("mas", MODE_PRIVATE).edit().putInt("mas", newint).commit(); 
    	calc();
    }
    
    public void Clickwine(View view){
    	int name2 = getSharedPreferences("wine", MODE_PRIVATE).getInt("wine", 0);
    	int a = 1;
    	int newint = name2 + a;
    	getSharedPreferences("wine", MODE_PRIVATE).edit().putInt("wine", newint).commit(); 
    	calc();
    }
    
    public void Clicksekt(View view){
    	int name2 = getSharedPreferences("sekt", MODE_PRIVATE).getInt("sekt", 0);
    	int a = 1;
    	int newint = name2 + a;
    	getSharedPreferences("sekt", MODE_PRIVATE).edit().putInt("sekt", newint).commit(); 
    	calc();
    }
    
    public void Clickmischung(View view){
    	int name2 = getSharedPreferences("misch", MODE_PRIVATE).getInt("misch", 0);
    	int a = 1;
    	int newint = name2 + a;
    	getSharedPreferences("misch", MODE_PRIVATE).edit().putInt("misch", newint).commit(); 
    	calc();
    }

    public void calc(){
    	//Rechner
    	//int a = getSharedPreferences("settings", MODE_PRIVATE).getInt("years", 0);
    	//int s = getSharedPreferences("settings", MODE_PRIVATE).getInt("cm", 0);
    	int w = getSharedPreferences("settings", MODE_PRIVATE).getInt("gewicht", 0);
    	String eingabe = getSharedPreferences("settings", MODE_PRIVATE).getString("sex", "0");

        int bier05 = getSharedPreferences("bier05", MODE_PRIVATE).getInt("bier05", 0); 
        TextView bier05tv = (TextView) findViewById(R.id.output05); bier05tv.setText("" + bier05); //HIER IST DER FEHLER!!!
        
        int bier033 = getSharedPreferences("bier033", MODE_PRIVATE).getInt("bier033", 0);
        TextView bier033tv = (TextView) findViewById(R.id.output033); bier033tv.setText("" + bier033);
        
        int bier1 = getSharedPreferences("mas", MODE_PRIVATE).getInt("mas", 0);
        TextView bier1tv = (TextView) findViewById(R.id.output1); bier1tv.setText("" + bier1);
        
        //int wine = getSharedPreferences("wine", MODE_PRIVATE).getInt("wine", 0);
        //TextView winetv = (TextView) findViewById(R.id.outputwine); winetv.setText("" + wine);
        
        int mischung = getSharedPreferences("misch", MODE_PRIVATE).getInt("misch", 0);
        TextView mischungtv = (TextView) findViewById(R.id.outputmischung); mischungtv.setText("" + mischung);
        
        int sekt = getSharedPreferences("sekt", MODE_PRIVATE).getInt("sekt", 0);
        TextView sekttv = (TextView) findViewById(R.id.outputsekt); sekttv.setText("" + sekt);
    	
    	//int a=16; //Alter
    	//int w=60; //gewicht
    	//int s=170; //Größe in cm
    	//double f; //Menge in ml
    	//int p; //Alk in prozent
    	//double m=1.5;
    	//int t=1;
    	
    	DecimalFormat fcalc = new DecimalFormat("#0.00");
    	String male = "Männlich";
    			
    	if(eingabe.equals(male)) {
    		//double hm = 2.447 - 0.0952 * a + 0.1074 * s + 0.3362 * w;
    		
    		/*bier
    		f=((bier033 * 330)+(bier05 * 500)+(bier1*1000));
    		p=5;
    		double bcalc = 0.8 / hm * ( f * p / 100 );
    		double b1 = bcalc - ( m + t ) * 0.1;
    		
    		//sekt
    		f=sekt*200;
    		p=10;
    		double bcalc2 = 0.8 / hm * ( f * p / 100 );
    		double b2 = bcalc2 - ( m + t ) * 0.1;
    		
    		//mischung
    		f=mischung*20;
    		p=20;
    		double bcalc3 = 0.8 / hm * ( f * p / 100 );
    		double b3 = bcalc3 - ( m + t ) * 0.1;*/
    		
    		//Gramm alk - 
    		double bgesamt1 = (0.8 * ((((bier033 * 330)+(bier05 * 500)+(bier1*1000)) * 5 / 100 )+( (sekt*150) * 10 / 100 )+( (mischung*20) * 200 / 100 )));
    		double bgesamt = bgesamt1 / (0.7 * w);
    		
    		//double bgesamt = b1+b2+b3;
    		TextView promille = (TextView) findViewById(R.id.ptextview); promille.setText("Promille " + fcalc.format(bgesamt));
    	}
    	
    	
    	else {
    		
    		double bgesamt1 = (0.8 * ((((bier033 * 330)+(bier05 * 500)+(bier1*1000)) * 4.8 / 100 )+( (sekt*150) * 10 / 100 )+( (mischung*20) * 200 / 100 )));
    		double bgesamt = bgesamt1 / (0.6 * w);
    		TextView promille = (TextView) findViewById(R.id.ptextview); promille.setText("Promille " + fcalc.format(bgesamt));
    	}
    }
    	

    
    public void setsettings(View view){
    	RadioGroup g = (RadioGroup) findViewById(R.id.radioSex); 
    	int selected = g.getCheckedRadioButtonId();
    	RadioButton b = (RadioButton) findViewById(selected);
    	String eingabe = (String) b.getText();
    	String male = "Männlich";
    			
    	if(eingabe.equals(male)){
    		getSharedPreferences("settings", MODE_PRIVATE).edit().putString("sex", "Männlich").commit();
    	} else {
    		getSharedPreferences("settings", MODE_PRIVATE).edit().putString("sex", "Weiblich").commit();
    	}
    	
    	//Jahre
    	EditText et = (EditText)findViewById(R.id.yearsid);
    	int jahre = Integer.parseInt(et.getText().toString());
    	getSharedPreferences("settings", MODE_PRIVATE).edit().putInt("years", jahre).commit();
    	
    	//Größe
    	EditText etg = (EditText)findViewById(R.id.groseid);
    	int grose = Integer.parseInt(etg.getText().toString());
    	getSharedPreferences("settings", MODE_PRIVATE).edit().putInt("cm", grose).commit();
    	
    	//Gewicht
    	EditText etgw = (EditText)findViewById(R.id.gewicht);
    	int gewichtvar = Integer.parseInt(etgw.getText().toString());
    	getSharedPreferences("settings", MODE_PRIVATE).edit().putInt("gewicht", gewichtvar).commit();
    
    	setContentView(R.layout.activity_main);
    	calc();
    }
    
   public void Resetall(View view) {
    	int resetnumber=0;
    	getSharedPreferences("bier05", MODE_PRIVATE).edit().putInt("bier05", resetnumber).commit();
    	getSharedPreferences("bier033", MODE_PRIVATE).edit().putInt("bier033", resetnumber).commit();
    	getSharedPreferences("mas", MODE_PRIVATE).edit().putInt("mas", resetnumber).commit();
    	getSharedPreferences("wine", MODE_PRIVATE).edit().putInt("wine", resetnumber).commit();
    	getSharedPreferences("misch", MODE_PRIVATE).edit().putInt("misch", resetnumber).commit();
    	getSharedPreferences("sekt", MODE_PRIVATE).edit().putInt("sekt", resetnumber).commit();
    	setContentView(R.layout.activity_main);
    }

   @SuppressLint("SimpleDateFormat") 
   public void timer(String cmd){
	   if(cmd.equals("start")) {
		   /*SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyy HH:mm:ss");
		   String currentDateandTime = sdf.format(new Date());*/
	   }
	   if(cmd.equals("difference")) {
		   		   
		   SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyy HH:mm:ss");
		   String dateStart = sdf.format(new Date());
		   
				//String dateStart = "01/14/2012 09:29:58";
				String dateStop = "01/15/2015 10:31:48";
		 
				//HH converts hour in 24 hours format (0-23), day calculation
				SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
		 
				Date d1 = null;
				Date d2 = null;
		 
				try {
					d1 = format.parse(dateStart);
					d2 = format.parse(dateStop);
		 
					//in milliseconds
					long diff = d2.getTime() - d1.getTime();
		 
					long diffSeconds = diff / 1000 % 60;
					long diffMinutes = diff / (60 * 1000) % 60;
					long diffHours = diff / (60 * 60 * 1000) % 24;
					long diffDays = diff / (24 * 60 * 60 * 1000);
		 
					String outputtimer = diffDays + " days, " + diffHours + " hours, " + diffMinutes + " minutes, " + diffSeconds + " seconds.";
					//TextView promille = (TextView) findViewById(R.id.timeranzeige); promille.setText("" + outputtimer);
		 
				} catch (Exception e) {
					e.printStackTrace();
				}
		 
			
	   }
   }

}
```

[XML]<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="566dp"
    androidaddingBottom="@dimen/activity_vertical_margin"
    androidaddingLeft="@dimen/activity_horizontal_margin"
    androidaddingRight="@dimen/activity_horizontal_margin"
    androidaddingTop="@dimen/activity_vertical_margin" >

    <ImageButton
        android:id="@+id/bier05button"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="40dp"
        android:adjustViewBounds="true"
        android:contentDescription="@string/desc"
        androidnClick="Clickbier05"
        android:scaleType="fitCenter"
        android:src="@drawable/bier05" />

    <TextView
        android:id="@+id/output033"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/output05"
        android:layout_alignLeft="@+id/bier033button"
        android:layout_alignRight="@+id/bier033button"
        android:layout_below="@+id/bier033button"
        android:text="@+id/b033t" />

    <TextView
        android:id="@+id/ptextview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:text="@string/promillebox" />

    <ImageButton
        android:id="@+id/bier033button"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_above="@+id/output05"
        android:layout_centerHorizontal="true"
        android:adjustViewBounds="true"
        android:contentDescription="@string/desc"
        androidnClick="Clickbier033"
        android:scaleType="fitCenter"
        android:src="@drawable/bier03" />

    <ImageButton
        android:id="@+id/mas"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_alignParentRight="true"
        android:layout_alignTop="@+id/bier033button"
        android:layout_marginRight="14dp"
        android:adjustViewBounds="true"
        android:contentDescription="@string/desc"
        androidnClick="Clickmas"
        android:scaleType="fitCenter"
        android:src="@drawable/mas" />

    <TextView
        android:id="@+id/output1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/mas"
        android:layout_below="@+id/mas"
        android:text="@+id/b1t" />

    <ImageButton
        android:id="@+id/ImageButton03"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_alignLeft="@+id/output033"
        android:layout_below="@+id/output033"
        android:layout_marginTop="22dp"
        android:adjustViewBounds="true"
        android:contentDescription="@string/desc"
        androidnClick="Clicksekt"
        android:scaleType="fitCenter"
        android:src="@drawable/sekt" />

    <TextView
        android:id="@+id/outputsekt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/ImageButton03"
        android:layout_centerHorizontal="true"
        android:text="@+id/sektt" />

    <TextView
        android:id="@+id/outputmischung"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/outputsekt"
        android:layout_alignBottom="@+id/outputsekt"
        android:layout_alignLeft="@+id/nope"
        android:layout_alignParentRight="true"
        android:text="@+id/mischungt" />

    <ImageButton
        android:id="@+id/nope"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_alignLeft="@+id/output1"
        android:layout_alignTop="@+id/ImageButton03"
        android:adjustViewBounds="true"
        android:contentDescription="@string/desc"
        androidnClick="Clickmischung"
        android:scaleType="fitCenter"
        android:src="@drawable/mischung" />

    <TextView
        android:id="@+id/setanzeige1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/output05"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="14dp"
        android:text="@string/anzeige" />

    <TextView
        android:id="@+id/output05"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/bier05button"
        android:layout_below="@+id/bier05button"
        android:text="@+id/b05t" />

    <TextView
        android:id="@+id/timeranzeige"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/setanzeige1"
        android:layout_toLeftOf="@+id/outputsekt"
        android:text="@string/timertext" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/timeranzeige"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="18dp"
        android:text="@string/mainmenu"
        android:textAppearance="?android:attr/textAppearanceLarge" />

</RelativeLayout>
</ScrollView>[/XML]

[XML]<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:id="@+id/activity_main" android:title="@string/mainmenu"></item><item
        android:id="@+id/action_settings"
        androidrderInCategory="100"
        android:title="@string/action_settings"/>
    <item android:id="@+id/credits" android:title="@string/credits"></item>
    <item android:id="@+id/reset" android:title="@string/reset"></item>


</menu>
[/XML]

[XML]<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">Dichtometer</string>
    <string name="action_settings">Einstellungen</string>
    <string name="radio_female">Weiblich</string>
    <string name="radio_male">Männlich</string>
    <string name="size">Größe</string>
    <string name="alter">Alter</string>
    <string name="mw">Mannsweib</string>
    <string name="headereinstellungen">Einstellungen</string>
    <string name="credits">Credits</string>
    <string name="credittext1">Programmiert von M4RC.DE</string>
    <string name="credittext2">Design by Matthias D.</string>
    <string name="mainmenu">Startseite</string>
    <string name="bier05button">Bier 0,5L</string>
    <string name="desc">desc</string>
    <string name="promillebox">Promille: </string>
    <string name="testview">Testview</string>
    <string name="saveit">Speichern</string>
    <string name="years">Jahre</string>
    <string name="cm">cm</string>
    <string name="reset">Reset</string>
    <string name="anzeige">Bitte restarte die App</string>
    <string name="gewicht">Gewicht</string>
    <string name="kg">kg</string>
    <string name="timertext">Timer wartet</string>

</resources>
[/XML]


Ich denke das ist alles was ihr braucht oder?


----------



## dzim (20. Mrz 2014)

Naja. "bier05tv" ist dann weisste das doch schon. Ich finde es nur schräg, dass du die beide auf einer Zeile schreibst. macht es nicht leichter, durchzuschauen.
BTW: im Java-Codeclock kannst du auch die Zeilennummern explizit angeben, dann musst du nicht die ganze Klasse posten. (Steht oberhalb der "Direktantwort"-Box drüber 
	
	
	
	





```
[ JAVA=42 ]hier Codeausschnitt einfügen[ /JAVA ]
```
.


----------



## M4RC2 (20. Mrz 2014)

Ist hier im Forum nur falsch formatiert! Ist eigentlich auch so! Löst trotzdem nicht den Fehler :/

Gesendet von meinem ST27i mit Tapatalk


----------



## dzim (20. Mrz 2014)

Der Grund ist übrigens vermutlich recht einfach: Die #calc-Methode  wird vermutlich VOR der Initialisierung des UIs selbst aufgerufen.
Mein Tipp: in #onCreate, nachdem du den contentView gesetzt hast, hole alle deine TextViews etc. über findeViewById und speichere sie in private Member-Variablen (
	
	
	
	





```
private TextView mBier05tv;
```
). Und vor dem setzen testet du ob die UI schon da ist, indem du einen Check machst, ob der TextView != null ist... Einfacher geht's ja nicht


----------



## dzim (20. Mrz 2014)

Sag mal, hast du eigentlich schon mal von CamelCase gehört? Irgendwie schreibst du deine Methoden und alles auch jedes mal anders...
Klassennamen:  CamelCase
Methoden-/Variablen:  camelCase


----------



## VfL_Freak (20. Mrz 2014)

Moin,

was _dzim _sagen wollte ist, dass uns nun nicht klar ist, in welcher Zeile denn nun die NPE auftritt ...

Hier:

```
TextView bier05tv = (TextView) findViewById(R.id.output05);
```

oder doch eher hier:

```
bier05tv.setText("" + bier05);
```
Wenn es der zweite Fall ist (was ichmal vermute), dann ist halt "bier05 == null" !!

Gruß
Klaus


----------



## M4RC2 (20. Mrz 2014)

Hab davon noch nicht gehört! Werde mich mal einlesen! Danke 

Gesendet von meinem ST27i mit Tapatalk


----------

