c# - MonoDroid Displaying database fields with horizontal scrollbar -
i have table 20 columns , number of records vary 5-20+. want display of data on screen using horizontal , vertical scrollbars. i'm torn on method best in order this. i've started on listview solution have kind of gotten stuck. following xml layout (ive condensed table rows idea)..
<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/linearlayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <button android:id="@+id/btnhome" style="@style/homebutton" android:layout_width="200dp" android:layout_height="wrap_content" android:layout_margintop="5dp" android:gravity="center" android:text="@string/btnhometext" android:textcolor="@color/white" android:textstyle="bold" /> <relativelayout android:id="@+id/innerrelativelayout2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/btnhome"> <linearlayout style="@style/stdwindow" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginbottom="5dp" android:layout_marginleft="5dp" android:layout_marginright="5dp" android:baselinealigned="false" android:orientation="vertical"> <textview android:id="@+id/tvdriverreport" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginleft="5dp" android:layout_marginright="5dp" android:background="@color/verydarkgray" android:text="@string/futurefeaturetext" android:textappearance="?android:attr/textappearancelarge" android:textcolor="@color/omsgold" /> <tablelayout android:minwidth="25px" android:minheight="25px" android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/tablelayout1"> <tablerow android:id="@+id/tablerow1"> <textview android:text="@string/summaryticketnumber" android:textappearance="?android:attr/textappearancemedium" android:layout_column="0" android:id="@+id/textview10" /> <textview android:text="@string/summarydate" android:textappearance="?android:attr/textappearancemedium" android:layout_column="1" android:id="@+id/textview11" /> <textview android:text="@string/summarytrucknumber" android:textappearance="?android:attr/textappearancemedium" android:layout_column="2" android:id="@+id/textview12" /> <textview android:text="@string/summarybeginodometer" android:textappearance="?android:attr/textappearancemedium" android:layout_column="3" android:id="@+id/textview21" /> <textview android:text="@string/summaryendodometer" android:textappearance="?android:attr/textappearancemedium" android:layout_column="4" android:id="@+id/textview22" /> </tablerow> <tablerow android:id="@+id/tablerow2"> <textview android:textappearance="?android:attr/textappearancemedium" android:layout_column="0" android:id="@+id/tvticketnumber" /> <textview android:textappearance="?android:attr/textappearancemedium" android:layout_column="1" android:id="@+id/tvsummarydate" /> <textview android:textappearance="?android:attr/textappearancemedium" android:layout_column="2" android:id="@+id/tvtrucknumber" /> <textview android:textappearance="?android:attr/textappearancemedium" android:layout_column="3" android:id="@+id/tvbeginodometer" /> <textview android:layout_column="4" android:textappearance="?android:attr/textappearancemedium" android:id="@+id/tvendodometer" /> </tablerow> </tablelayout> </linearlayout> </relativelayout> </linearlayout> so table row 1 static heading data every row after dynamically populated database, number of rows variable.
i started on custom list adapter solution cant seem working. here customlistadapter
public class customlistadapter : baseadapter { activity context; public list<ticketsummarymapper> items; public customlistadapter (activity context) : base() { this.context = context; var db = new sqliteconnection (db); items = db.query<ticketsummarymapper> ("select * mydatabase"); } public override int count { { return items.count; } } public override java.lang.object getitem(int position) { return position; } public override long getitemid(int position) { return position; } public override view getview (int position, view convertview, viewgroup parent) { var item = items [position]; var view = (convertview ?? context.layoutinflater.inflate ( resource.layout.ticket_summary, parent, false)) linearlayout; //find references each subview in list item's view var textticketno = view.findviewbyid (resource.id.tvticketnumber) textview; var textsummarydate = view.findviewbyid (resource.id.tvsummarydate) textview; var texttrucknumber = view.findviewbyid (resource.id.tvtrucknumber) textview; var textbeginodometer = view.findviewbyid (resource.id.tvbeginodometer) textview; //assign item's values various subviews textticketno.settext (item.ticketnumber, textview.buffertype.normal); textsummarydate.settext (item.transdate, textview.buffertype.normal); texttrucknumber.settext (item.equipmentno, textview.buffertype.normal); textbeginodometer.settext (item.beginodometer, textview.buffertype.normal); //finally return view return view; } public ticketsummarymapper getitematposition(int position) { return items[position]; } } and activity...
[activity (label = "adminactivity")] public class adminactivity : activity { customlistadapter listadapter; public adminactivity() { } public adminactivity(intptr handle, jnihandleownership transfer) : base(handle, transfer) { } protected override void oncreate (bundle bundle) { base.oncreate (bundle); //set activity's view our list layout setcontentview (resource.layout.customlist); //create our adapter listadapter = new customlistadapter (this); //find listview reference var listview = findviewbyid<listview> (resource.id.listview); //hook our adapter our listview listview.adapter = listadapter; } } the customlist layout has linearlayout followed listview , thats it. taking time @ this...
try scrollview setting horizontal , vertical scroll , inside main layout
<scrollview xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scrollbars="horizontal|vertical"> <linearlayout android:id="@+id/linearlayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> ..... </scrollview>
Comments
Post a Comment