java - Why do my programatically added TableRows not float in line with my table-header? -



java - Why do my programatically added TableRows not float in line with my table-header? -

my goal:

i trying populate table(with headline created in xml) bunch of programmatically added views. plan add together textviews tablerow , add together tablerow final table created. tried follow this tutorial.

my problem:

the programmatically added views not go inline columns xml-created textviews dictate. please see next screenshot:

my code: 1.) xml

<tablelayout android:id="@+id/tableviewtable" android:layout_width="match_parent" android:layout_height="wrap_content" > <tablerow android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="10dp" > <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:layout_marginright="@dimen/margin_evalproblemtableright" android:layout_marginbottom="@dimen/margin_evalproblemtablebottom" android:text="@string/str_evalproblemnumber" android:textappearance="?android:attr/textappearancemedium" /> <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:layout_marginright="@dimen/margin_evalproblemtableright" android:layout_marginbottom="@dimen/margin_evalproblemtablebottom" android:text="@string/str_evalproblemstring" android:textappearance="?android:attr/textappearancemedium" /> <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:layout_marginright="@dimen/margin_evalproblemtableright" android:layout_marginbottom="@dimen/margin_evalproblemtablebottom" android:text="@string/str_evalproblemcorrectsolution" android:textappearance="?android:attr/textappearancemedium" /> <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:layout_marginright="@dimen/margin_evalproblemtableright" android:layout_marginbottom="@dimen/margin_evalproblemtablebottom" android:text="@string/str_evalproblemusersolution" android:textappearance="?android:attr/textappearancemedium" /> <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:layout_marginright="@dimen/margin_evalproblemtableright" android:layout_marginbottom="@dimen/margin_evalproblemtablebottom" android:text="@string/str_evalproblemduration" android:textappearance="?android:attr/textappearancemedium" /> </tablerow> </tablelayout>

2.) java:

public class evalactivity extends activity { @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_eval); tablelayout tableviewtable = (tablelayout) findviewbyid(r.id.tableviewtable); tablerow tr = new tablerow(this); tr.setlayoutparams(new layoutparams(layoutparams.fill_parent, layoutparams.wrap_content)); button b = new button(this); b.settext("button"); b.setlayoutparams(new layoutparams(layoutparams.fill_parent, layoutparams.wrap_content)); textview t1 = new textview(this); t1.settext("i textview1"); t1.setlayoutparams(new layoutparams(layoutparams.fill_parent, layoutparams.wrap_content)); textview t2 = new textview(this); t2.settext("i textview2"); t2.setlayoutparams(new layoutparams(layoutparams.fill_parent, layoutparams.wrap_content)); textview t3 = new textview(this); t3.settext("i textview3"); t3.setlayoutparams(new layoutparams(layoutparams.fill_parent, layoutparams.wrap_content)); textview t4 = new textview(this); t4.settext("i textview3"); t4.setlayoutparams(new layoutparams(layoutparams.fill_parent, layoutparams.wrap_content)); tr.addview(b); tr.addview(t1); tr.addview(t2); tr.addview(t3); tr.addview(t4); tableviewtable.addview(tr,(new layoutparams(layoutparams.fill_parent, layoutparams.wrap_content))); }

how can bring together "hardcoded" xml-tablerow programatically added views , rows?

try manually adding align rule layout parameters this:

layoutparams myparams = new layoutparams(layoutparams.fill_parent, layoutparams.wrap_content); myparams.addrule(relativelayout.align_right, r.id.tablecolumnx); textview t3 = new textview(this); t3.settext("i textview3"); t3.setlayoutparams(myparams);

java android textview tablelayout tablerow

Comments

Popular posts from this blog

web services - java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer -

Accessing MATLAB's unicode strings from C -

javascript - mongodb won't find my schema method in nested container -