findViewById liefert immer null zurück

I

Ikarisan

Neues Mitglied
0
Hallo!

Ich weiß, mein Problem ist ein altes Thema. Aber alle 1000 bei Google gefundenen Lösungen waren bei mir nicht anwendbar bzw. funktionieren nicht.

Im Prinzip habe ich mir ein Layout in der main.xml erstellt und dort dann zwei TextViews, die ich in meiner Activity ändern möchte. Ein Zugriff auf die TextViews mit "findViewById" liefert mir aber immer null zurück :(

Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout1"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

[...]

                <TextView
                    android:id="@+id/longitude"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/txt_longitude" />

                <TextView
                    android:id="@+id/latitude"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/txt_latitude" />

[...]

</LinearLayout>

Und in meiner Activity sieht das dann so aus:

Code:
public class WIMAActivity extends Activity implements LocationListener {
	private TextView latituteField;
	private TextView longitudeField;
	private LocationManager locationManager;
	private String provider;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		
		latituteField = (TextView) findViewById(R.id.latitude);
		longitudeField = (TextView) findViewById(R.id.longitude);

[...]

                if (latituteField == null) {
			System.out.println("NULL Latitude");
		}
                if (longitudeField == null) {
			System.out.println("NULL Latitude");
		}

[...]

Und beide sind halt immer null :(
Irgendwie komme ich mir gerade ziemlich blöd vor :(
Wo mache ich denn da einen Fehler?

Gruß
Thorsten
 
An sich sieht der Code gut aus.

Aber:
Liegt die Datei wirklich in "$PROJEKT/res/layout/main.xml"?
Hast Du vielleicht ein "$PROJEKT/res/layout-land/main.xml" (oder ähnlich), das stattdessen geladen wird?
 
  • Danke
Reaktionen: Ikarisan und soma-web
Kopier mal bitte was du oben in deiner Activity als Import stehen hast. Evtl isses Android.R und nicht die R Datei deines Projekts!
Und cleane auch mal dein Projekt. evtl ist ja auch eine xml Datei Fehlerhaft und er hat Probleme die R Datei zu bilden!
 
Huhu!

Also ein Clean habe ich schon gemacht. Hat nicht geholfen. :(

Unter gen/de.test.wima gibt es eine aktuelle R.java Datei, die auch Einträge in Form von

Code:
public final class R {
    public static final class attr {
    }
    public static final class color {
        public static final int white=0x7f040000;
    }
    public static final class drawable {
        public static final int ic_launcher=0x7f020000;
    }
    public static final class id {
        public static final int latitude=0x7f06000d;
        public static final int longitude=0x7f06000b;
[...]

enthält.

Meine Imports sehen so aus:

Code:
package de.test.wima;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
import android.location.*;

Wieso immer ich? :D
 
WUUAAAAAAAAAAAAAAAAAAAAAAAAAA.........


Mir ist jetzt gerade erst aufgefallen das ich ein layout-nokeys habe O.O
Und dieses scheint wohl verwendet zu werden wenn ich die App starte. Klar das er da die IDs nicht finden kann.

Kann mich aber nicht erinnern, dass ich zwei Layouts angelegt habe O.O
 
Der Preis geht an: DieGoldeneMitte!!! ;)
 

Ähnliche Themen

A
  • AnimaAngelo85
Antworten
1
Aufrufe
313
swa00
swa00
L
  • LHomme
Antworten
1
Aufrufe
1.155
jogimuc
J
Zurück
Oben Unten