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

Popular posts from this blog

jquery - Invalid Assignment Left-Hand Side -

java - Play! framework 2.0: How to display multiple image? -

gmail - Is there any documentation for read-only access to the Google Contacts API? -