1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. Tom299, 16.05.2012 #1
    Tom299

    Tom299 Threadstarter Android-Experte

    Hi,

    ich kämpfe schon die ganze Zeit mit dem Problem, daß die TableRow, die ich dynamisch im Code erzeuge, nicht mit den Spalten der TableRows aus dem XML übereinstimmt ...

    Mein XML dazu (die 2. TableRow hab ich zu Testzwecken hinzugefügt, um zu sehen, ob sie richtig oder auch verschoben ist, ist aber richtig):
    Code:
    		    <TableLayout 
    		        android:id="@+id/overview_table_layout_status_medium_art"
    		        android:layout_width="fill_parent"
    		        android:layout_height="wrap_content"
    		        android:layout_marginTop="20dp">
    		        
    		        <TableRow 
    		        	android:id="@+id/overview_table_row_status_medium_art_text" 
    		    		android:layout_width="fill_parent"
    		    		android:layout_height="wrap_content">
    		            
    		            <TextView 
    				    	android:id="@+id/overview_status_medium_art_text_tvArt" 
    				    	android:layout_width="wrap_content"
    				    	android:layout_height="wrap_content"
    				    	android:singleLine="true"
    				    	android:textAppearance="@android:style/TextAppearance.Small"
    				    	android:gravity="left"
    				    	android:layout_weight="0.4"
    				    	android:text="Test1"
    		   			/>
    		            
    				    <TextView 
    				    	android:id="@+id/overview_status_medium_art_text_tvStrom" 
    				    	android:layout_width="wrap_content"
    				    	android:layout_height="wrap_content"
    				    	android:singleLine="true"
    				    	android:textAppearance="@android:style/TextAppearance.Small"
    				    	android:gravity="center"
    				    	android:text="@string/overview_status_text_medium_strom"
    				    	android:layout_weight="0.15"
    		   			/>
    				    
    				    <TextView 
    				    	android:id="@+id/overview_status_medium_art_text_tvWasser" 
    				    	android:layout_width="wrap_content"
    				    	android:layout_height="wrap_content"
    				    	android:singleLine="true"
    				    	android:textAppearance="@android:style/TextAppearance.Small"
    				    	android:gravity="center"
    				    	android:text="@string/overview_status_text_medium_wasser"
    				    	android:layout_weight="0.15"
    		   			/>
    				    
    				    <TextView 
    				    	android:id="@+id/overview_status_medium_art_text_tvGas" 
    				    	android:layout_width="wrap_content"
    				    	android:layout_height="wrap_content"
    				    	android:singleLine="true"
    				    	android:textAppearance="@android:style/TextAppearance.Small"
    				    	android:gravity="center"
    				    	android:text="@string/overview_status_text_medium_gas"
    				    	android:layout_weight="0.15"
    		   			/>
    
    				    <TextView
    				    	android:id="@+id/overview_status_medium_art_text_tvFernwaerme"
    				    	android:layout_width="wrap_content"
    				    	android:layout_height="wrap_content"
    				    	android:singleLine="true"
    				    	android:textAppearance="@android:style/TextAppearance.Small"
    				    	android:gravity="center"
    				    	android:text="@string/overview_status_text_medium_fernwaerme"
    				    	android:layout_weight="0.15"
    		   			/>				    				    				    
    		        </TableRow>
         
    		        <TableRow 
    		        	android:id="@+id/overview_table_row_test" 
    		    		android:layout_width="fill_parent"
    		    		android:layout_height="wrap_content">
    		            
    		            <TextView 
    				    	android:id="@+id/overview_status_medium_art_text_tvArt_test" 
    				    	android:layout_width="wrap_content"
    				    	android:layout_height="wrap_content"
    				    	android:singleLine="true"
    				    	android:textAppearance="@android:style/TextAppearance.Small"
    				    	android:gravity="left"
    				    	android:layout_weight="0.4"
    				    	android:text="Test2"
    		   			/>
    		            
    				    <TextView 
    				    	android:id="@+id/overview_status_medium_art_text_tvStrom_test" 
    				    	android:layout_width="wrap_content"
    				    	android:layout_height="wrap_content"
    				    	android:singleLine="true"
    				    	android:textAppearance="@android:style/TextAppearance.Small"
    				    	android:gravity="center"
    				    	android:text="50"
    				    	android:layout_weight="0.15"
    		   			/>
    				    
    				    <TextView 
    				    	android:id="@+id/overview_status_medium_art_text_tvWasser_test" 
    				    	android:layout_width="wrap_content"
    				    	android:layout_height="wrap_content"
    				    	android:singleLine="true"
    				    	android:textAppearance="@android:style/TextAppearance.Small"
    				    	android:gravity="center"
    				    	android:text="25"
    				    	android:layout_weight="0.15"
    		   			/>
    				    
    				    <TextView 
    				    	android:id="@+id/overview_status_medium_art_text_tvGas_test" 
    				    	android:layout_width="wrap_content"
    				    	android:layout_height="wrap_content"
    				    	android:singleLine="true"
    				    	android:textAppearance="@android:style/TextAppearance.Small"
    				    	android:gravity="center"
    				    	android:text="15"
    				    	android:layout_weight="0.15"
    		   			/>
    
    				    <TextView
    				    	android:id="@+id/overview_status_medium_art_text_tvFernwaerme_test"
    				    	android:layout_width="wrap_content"
    				    	android:layout_height="wrap_content"
    				    	android:singleLine="true"
    				    	android:textAppearance="@android:style/TextAppearance.Small"
    				    	android:gravity="center"
    				    	android:text="10"
    				    	android:layout_weight="0.15"
    		   			/>				    				    				    
    		        </TableRow>		        
    		        
    		  	</TableLayout>  
    
    mein Code-Ausschnitt:
    Code:
    		TableLayout layoutTableMediumArt = (TableLayout)findViewById(R.id.overview_table_layout_status_medium_art);
    		
    		TableRow tabRow = new TableRow(this);
    		TableRow.LayoutParams paramsTabRow = new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, TableRow.LayoutParams.WRAP_CONTENT);
    		tabRow.setLayoutParams(paramsTabRow);
    		
    		TableRow.LayoutParams paramsTextViewArt = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT);
    		paramsTextViewArt.gravity = Gravity.LEFT;
    		paramsTextViewArt.weight = 0.4f;
    		
    		TextView tvArt = new TextView(this);
    		tvArt.setLayoutParams(paramsTextViewArt);
    		tvArt.setText("Test3");
    		tvArt.setSingleLine(true);
    		tvArt.setTextAppearance(this, android.R.style.TextAppearance_Small);
    		tabRow.addView(tvArt);
    
    		TableRow.LayoutParams paramsTextViewWert = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT);
    		paramsTextViewWert.gravity = Gravity.CENTER;
    		paramsTextViewWert.weight = 0.15f;
    
    		TextView tvWertArtStrom = new TextView(this);
    		tvWertArtStrom.setLayoutParams(paramsTextViewWert);
    		tvWertArtStrom.setText("50");
    		tvWertArtStrom.setSingleLine(true);
    		tvWertArtStrom.setTextAppearance(this, android.R.style.TextAppearance_Small);
    		tabRow.addView(tvWertArtStrom);
    		
    		TextView tvWertArtWasser = new TextView(this);
    		tvWertArtWasser.setLayoutParams(paramsTextViewWert);
    		tvWertArtWasser.setText("25");
    		tvWertArtWasser.setSingleLine(true);
    		tvWertArtWasser.setTextAppearance(this, android.R.style.TextAppearance_Small);
    		tabRow.addView(tvWertArtWasser);
    
    		TextView tvWertArtGas = new TextView(this);
    		tvWertArtGas.setLayoutParams(paramsTextViewWert);
    		tvWertArtGas.setText("15");
    		tvWertArtGas.setSingleLine(true);
    		tvWertArtGas.setTextAppearance(this, android.R.style.TextAppearance_Small);
    		tabRow.addView(tvWertArtGas);
    
    		TextView tvWertArtFernwaerme = new TextView(this);
    		tvWertArtFernwaerme.setLayoutParams(paramsTextViewWert);
    		tvWertArtFernwaerme.setText("10");
    		tvWertArtFernwaerme.setSingleLine(true);
    		tvWertArtFernwaerme.setTextAppearance(this, android.R.style.TextAppearance_Small);
    		tabRow.addView(tvWertArtFernwaerme);
    
    		layoutTableMediumArt.addView(tabRow);
    
    Ich hab auch beim ersten LayoutParams mal TableLayout anstatt TableRow genommen, macht aber keinen Unterschied. Ich weiß langsam nicht mehr weiter ...
    Wenn ich layout_weight der 1. Spalte im Code auf 0.55f setze, dann sind die ersten 2 Spalten richtig untereinander, die nachfolgenden verschieben sich dann aber wieder ...

    Sieht jemand den Fehler?
     

    Anhänge:

Die Seite wird geladen...
Ähnliche Themen Forum Datum
[OFFEN] Bild per Intent an ListView übergeben und anzeigen Android App Entwicklung 13.08.2017
[ERLEDIGT] Auffangen von nativen C Exeptions in Java Code? Android App Entwicklung 08.08.2017
[ERLEDIGT] Android Studio Erste App-Programmierung Android App Entwicklung 02.08.2017
[ERLEDIGT] Android O Neue Fonts in XML Methode Android App Entwicklung 27.07.2017
[ERLEDIGT] Daten/Code meiner App speichern? Android App Entwicklung 27.07.2017
[ERLEDIGT] Hilfe bei Fehler in Quellcode benötigt Android App Entwicklung 23.06.2017
[OFFEN] Problem mit meiner Login App Android App Entwicklung 10.06.2017
[OFFEN] Android Studio - Code Style Android App Entwicklung 08.06.2017
[OFFEN] git-Problem in Android Studio (Windows) Android App Entwicklung 24.05.2017
[ERLEDIGT] put in HashMap bringt App zum abstürzen Android App Entwicklung 22.05.2017
Du betrachtest das Thema "TableRow in XML und Code - Problem" im Forum "Android App Entwicklung",