java - How to have multiple spinners with one set of code -
all- have layout looks this:
my goal have 3 spinners on of rows. right on st. james (yes, monopoly). each spinner has significant amount of code , create whole new spinner scratch each row difficult @ best. tried duplicate first row , change text:
<?xml version="1.0" encoding="utf-8"?> <relativelayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <relativelayout android:id="@+id/stjameslay" android:layout_width="wrap_content" android:layout_height="wrap_content"> <textview android:id="@+id/st_james_place" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/st_james" android:padding="5dp" android:textsize="6pt" /> <spinner android:id="@+id/owner" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawselectorontop="true" android:layout_torightof="@id/st_james_place" android:layout_alignbaseline="@id/st_james_place" /> <spinner android:id="@+id/houses" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawselectorontop="true" android:layout_torightof="@id/owner" android:layout_alignbaseline="@id/st_james_place" /> <spinner android:id="@+id/hotels" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawselectorontop="true" android:layout_torightof="@id/houses" android:layout_alignbaseline="@id/st_james_place" /> </relativelayout> <relativelayout android:id="@+id/balticavelay" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/stjameslay"> <textview android:id="@+id/st_james_place" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/baltic" android:padding="5dp" android:textsize="6pt" /> <spinner android:id="@+id/owner" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawselectorontop="true" android:layout_torightof="@id/st_james_place" android:layout_alignbaseline="@id/st_james_place" /> <spinner android:id="@+id/houses" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawselectorontop="true" android:layout_torightof="@id/owner" android:layout_alignbaseline="@id/st_james_place" /> <spinner android:id="@+id/hotels" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawselectorontop="true" android:layout_torightof="@id/houses" android:layout_alignbaseline="@id/st_james_place" /> </relativelayout> <relativelayout android:id="@+id/boardwalklay" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/balticavelay"> <textview android:id="@+id/st_james_place" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/boardwalk" android:padding="5dp" android:textsize="6pt" /> <spinner android:id="@+id/owner" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawselectorontop="true" android:layout_torightof="@id/st_james_place" android:layout_alignbaseline="@id/st_james_place" /> <spinner android:id="@+id/houses" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawselectorontop="true" android:layout_torightof="@id/owner" android:layout_alignbaseline="@id/st_james_place" /> <spinner android:id="@+id/hotels" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawselectorontop="true" android:layout_torightof="@id/houses" android:layout_alignbaseline="@id/st_james_place" /> </relativelayout> </relativelayout>
as can see screenshot, spinners did not show up. thinking since id same on spinners, java code treat spinners duplicates. there way or going have make new spinners each row , new java code (owner2, houses2, hotels2, etc.)? time , effort!
it seems me need listview
. create 'list item' layout file represent single list row, example...
<?xml version="1.0" encoding="utf-8"?> <relativelayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/propertylayout" android:layout_width="wrap_content" android:layout_height="wrap_content"> <textview android:id="@+id/propertyname" ... /> <spinner android:id="@+id/owner" ... /> <spinner android:id="@+id/houses" ... /> <spinner android:id="@+id/hotels" ... /> </relativelayout>
you need create custom adapter
map/bind data each widget , use listview
.
Comments
Post a Comment