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

setStretchAllColumns(); Force Close

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Ocram, 08.08.2010.

  1. Ocram, 08.08.2010 #1
    Ocram

    Ocram Threadstarter Erfahrener Benutzer

    Beiträge:
    219
    Erhaltene Danke:
    67
    Registriert seit:
    15.05.2010
    Hallo,

    Ich habe ein Problem mit meinem Code, wenn ich versuche per setStretchAllColumns(boolean) alle meine Spalten auf eine Größe zu machen, kriege ich bei starten der (sehr simplen) Anwendung einen Fehler. Bin zwar noch ziemlich neu bei Android, aber irgendwie weiß ich nicht, warum es nicht geht =/

    main.xml
    HTML:
    <?xml version="1.0" encoding="utf-8"?>
    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    	android:id="@+id/stundentabelle"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
    	<TableRow>
    		<TextView
    		android:text="BWL/IV"
    		android:padding="3px" />
    		
    		<TextView
    		android:text="BWL/IV"
    		android:padding="3px" />
    		
    		<TextView
    		android:text="BWL/IV"
    		android:padding="3px" />
    		
    		<TextView
    		android:text="BWL/IV"
    		android:padding="3px" />
    		
    		<TextView
    		android:text="BWL/IV"
    		android:padding="3px" />
    	</TableRow>
    </TableLayout>
    
    *.java
    PHP:
    package com.technolover.schedule;

    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.TableLayout;

    public class 
    Stundenplan_Schedule extends Activity {
        
    /** Called when the activity is first created. */
        
    @Override
        
    public void onCreate(Bundle savedInstanceState) {
            
    super.onCreate(savedInstanceState);
            
            
    TableLayout tl = (TableLayoutfindViewById(R.id.stundentabelle);
            
    tl.setStretchAllColumns(true);
            
            
    setContentView(R.layout.main);
        }
    }
    Kann mir da jemand eine Lösung/Verbesserung verraten oder müsste ich jedem TextView einfach eine feste Breite z.B. 96dip verpassen und zu einem anderen Layout wechseln?

    Jedoch wäre für einen Stundenplan ein Tabellenlayout einfach angebrachter =/
     
    Zuletzt bearbeitet: 08.08.2010
  2. Fr4gg0r, 09.08.2010 #2
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Beiträge:
    2,506
    Erhaltene Danke:
    447
    Registriert seit:
    21.12.2009
    Schau dir doch mal die Fehlermeldung an...
    -> Show View -> Other -> Logcat
     
  3. Ocram, 09.08.2010 #3
    Ocram

    Ocram Threadstarter Erfahrener Benutzer

    Beiträge:
    219
    Erhaltene Danke:
    67
    Registriert seit:
    15.05.2010
    Danke für den Hinweis, hab den Fehler gefunden :)

    War eine Nullpointer Exception, von daher, wurde die ID bzw. das Layout nicht gefunden.

    Der Fehler lag in Zeile 16. Diese Zeile musste nach oben verschoben werden, weil das Layout ja ansonsten nicht existiert - nochmal mach ich den Fehler nicht :D

    behoben:

    PHP:
    package com.technolover.schedule

    import android.app.Activity
    import android.os.Bundle
    import android.widget.TableLayout

    public class 
    Stundenplan_Schedule extends Activity 
        
    /** Called when the activity is first created. */ 
        
    @Override 
        
    public void onCreate(Bundle savedInstanceState) { 
            
    super.onCreate(savedInstanceState); 
            
    setContentView(R.layout.main); //Hier war der Fehler (:

            
    TableLayout tl = (TableLayoutfindViewById(R.id.stundentabelle); 
            
    tl.setStretchAllColumns(true); 
        } 
     

Diese Seite empfehlen