Advertisement
Guest User

Untitled

a guest
Feb 1st, 2013
447
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 8.64 KB | None | 0 0
  1. ## PrevzemAdapter.cs
  2. using System;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Xml;
  8. using System.IO;
  9.  
  10. using Android.App;
  11. using Android.Graphics;
  12. using Android.Content;
  13. using Android.OS;
  14. using Android.Runtime;
  15. using Android.Views;
  16. using Android.Widget;
  17. using System.Data;
  18. using Android.Text;
  19. using Android.Content.PM;
  20. using Android.Provider;
  21.  
  22. namespace Hyundai_Servis
  23. {
  24.     [Activity(Label = "Prevzem Adapter")]
  25.     public class PrevzemAdapter : ArrayAdapter<Prevzem>
  26.     {
  27.         int resource;
  28.  
  29.         PrevzemVozila pa;
  30.         public String[] Current;
  31.         Intent availIntent;
  32.  
  33.         IList<ResolveInfo> availableActivities;
  34.  
  35.         string[] colors = new string[] { "#FFFFFF", "#F0F0F0"};
  36.  
  37.         Context p_context = null;
  38.  
  39.         //Initialize adapter
  40.         public PrevzemAdapter(Context context, int resource, IList<Prevzem> items)
  41.             : base(context, resource, items)
  42.         {
  43.             this.resource = resource;
  44.             this.p_context = context;
  45.             this.AvailIntent = new Intent(MediaStore.ActionImageCapture);
  46.             this.AvailActivities = p_context.PackageManager.QueryIntentActivities(AvailIntent, PackageInfoFlags.MatchDefaultOnly);
  47.         }
  48.  
  49.         public long GetItemId(int position)
  50.         {
  51.             return position;
  52.         }
  53.  
  54.  
  55.         public override View GetView(int position, View convertView, ViewGroup parent)
  56.         {
  57.             LinearLayout view;
  58.  
  59.             //Get our items
  60.             var item = GetItem(position);
  61.  
  62.             //Inflate the view
  63.             if (convertView == null)
  64.             {
  65.                 view = new LinearLayout(Context);
  66.                 var inflater = Context.LayoutInflaterService;
  67.                 var colorPos = position % 2;
  68.                 view.SetBackgroundColor(Color.ParseColor(colors[colorPos]));
  69.                 LayoutInflater vi;
  70.                 vi = (LayoutInflater)Context.GetSystemService(inflater);
  71.                 vi.Inflate(resource, view, true);
  72.             }
  73.  
  74.             else
  75.             {
  76.                 view = (LinearLayout)convertView;
  77.             }
  78.  
  79.             var FieldDesc = view.FindViewById<TextView>(Resource.Id.txtFieldDesc);
  80.             FieldDesc.Text = item.FieldDesc != null ? item.FieldDesc : "";
  81.  
  82.             var IdRec = view.FindViewById<TextView>(Resource.Id.txtIdRec);
  83.             IdRec.Text = item.IdRec != null ? item.IdRec : "";
  84.  
  85.             var FieldId = view.FindViewById<TextView>(Resource.Id.txtFieldId);
  86.             FieldId.Text = item.FieldId != null ? item.FieldId : "";
  87.  
  88.             var FieldTextValue = view.FindViewById<EditText>(Resource.Id.editVal);
  89.             FieldTextValue.Text = item.FieldTextValue != null ? item.FieldTextValue : "";
  90.  
  91.             var ButtonValue = view.FindViewById<Button>(Resource.Id.button1);
  92.             ButtonValue.Visibility = view.Visibility == ViewStates.Gone ? ViewStates.Gone : ViewStates.Gone;
  93.  
  94.             var CamImage = view.FindViewById<ImageView>(Resource.Id.imageSending);
  95.             CamImage.Visibility = view.Visibility == ViewStates.Gone ? ViewStates.Gone : ViewStates.Gone;
  96.  
  97.             var SpinnerValue = view.FindViewById<Spinner>(Resource.Id.spinnerVal);
  98.  
  99.             bool isReadOnly = bool.Parse(item.isReadOnly);
  100.  
  101.             if (isReadOnly == true)
  102.             {
  103.                 FieldTextValue.Enabled = false;
  104.                 SpinnerValue.Enabled = false;
  105.             }
  106.  
  107.             else
  108.             {
  109.                 FieldTextValue.Enabled = true;
  110.                 SpinnerValue.Enabled = true;
  111.             }
  112.  
  113.             // if field is TextBOX_INT
  114.             if (item.FieldType == "TextBOX_INT")
  115.             {
  116.                 FieldTextValue.InputType = InputTypes.ClassNumber;
  117.             }
  118.  
  119.             // if field is TextBOX or TextBOX_INT or TextAREA
  120.             if (item.FieldType == "TextBOX" || item.FieldType == "TextBOX_INT" || item.FieldType == "TextAREA")
  121.             {
  122.                 FieldTextValue.SetSingleLine(true);
  123.  
  124.                 FieldTextValue.Visibility = view.Visibility == ViewStates.Visible ? ViewStates.Visible : ViewStates.Visible;
  125.  
  126.                 SpinnerValue.Visibility = view.Visibility == ViewStates.Gone ? ViewStates.Gone : ViewStates.Gone;
  127.             }
  128.  
  129.             // if field is TextAREA
  130.             if (item.FieldType == "TextAREA")
  131.             {
  132.                 FieldTextValue.InputType = InputTypes.ClassText;
  133.  
  134.                 FieldTextValue.SetSingleLine(false);
  135.             }
  136.  
  137.             // if field is ComboBOX or OptionBox
  138.             if (item.FieldType == "ComboBOX" || item.FieldType == "OptionBOX")
  139.             {
  140.                 FieldTextValue.Visibility = view.Visibility == ViewStates.Gone ? ViewStates.Gone : ViewStates.Gone;
  141.  
  142.                 SpinnerValue.Visibility = view.Visibility == ViewStates.Visible ? ViewStates.Visible : ViewStates.Visible;
  143.                 List<string> entries = new List<string>();
  144.  
  145.                 String rawXML = item.OptBox_Options;
  146.  
  147.                 StringReader stream = null;
  148.                 XmlTextReader reader = null;
  149.  
  150.                 DataSet xmlDS = new DataSet();
  151.                 stream = new StringReader(rawXML);
  152.                 // Load the XmlTextReader from the stream
  153.                 reader = new XmlTextReader(stream);
  154.                 xmlDS.ReadXml(reader);
  155.  
  156.                 DataSet myOPTvalues = new DataSet();
  157.                 myOPTvalues = xmlDS;
  158.  
  159.                 foreach (DataRow row in myOPTvalues.Tables[0].Rows)
  160.                 {
  161.                     var optItem = new PrevzemSpin();
  162.                     optItem.FieldValue = row["FieldValue"].ToString();
  163.                     if (optItem.FieldValue.Equals(""))
  164.                         optItem.FieldValue = null;
  165.  
  166.                     optItem.FieldTextValue = row["FieldTextValue"].ToString();
  167.                     if (optItem.FieldTextValue.Equals(""))
  168.                         optItem.FieldTextValue = null;
  169.  
  170.  
  171.                     entries.Add(optItem.FieldTextValue);
  172.                     SpinnerValue.Tag = optItem.FieldValue;
  173.                 }
  174.  
  175.                 var adapter = new ArrayAdapter<string>(p_context, Android.Resource.Layout.SelectDialogItem, entries);
  176.                 adapter.SetDropDownViewResource(Android.Resource.Layout.SelectDialogSingleChoice);
  177.                 SpinnerValue.Adapter = adapter;
  178.                 SpinnerValue.SaveEnabled = true;
  179.                 if (SpinnerValue.Adapter.Count.Equals(2))
  180.                 {
  181.                     SpinnerValue.SetSelection(1);
  182.                 }
  183.             }
  184.  
  185.             // if field is Picture_REQ
  186.             if (item.FieldType == "Picture_REQ")
  187.             {
  188.             ButtonValue.Visibility = view.Visibility == ViewStates.Visible ? ViewStates.Visible : ViewStates.Visible;
  189.             CamImage.Visibility = view.Visibility == ViewStates.Visible ? ViewStates.Visible : ViewStates.Visible;
  190.             FieldTextValue.Visibility = view.Visibility == ViewStates.Gone ? ViewStates.Gone : ViewStates.Gone;
  191.             SpinnerValue.Visibility = view.Visibility == ViewStates.Gone ? ViewStates.Gone : ViewStates.Gone;
  192.  
  193.             ButtonValue.Click += delegate
  194.             {
  195.                 pa = new PrevzemVozila();
  196.                 if (pa != null)
  197.                 {
  198.                     pa.OnGetCam(this.AvailIntent, this.AvailActivities);
  199.                 }
  200.             };
  201.             }
  202.  
  203.             return view;
  204.         }
  205.  
  206.         public IList<ResolveInfo> AvailActivities
  207.         {
  208.             set { this.availableActivities = value; }
  209.             get { return this.availableActivities; }
  210.         }
  211.  
  212.         public Intent AvailIntent
  213.         {
  214.             set { this.availIntent = value; }
  215.             get { return this.availIntent; }
  216.         }
  217.     }
  218. }
  219.  
  220. ## PrevzemVozila.axml
  221. <?xml version="1.0" encoding="utf-8"?>
  222. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  223.     android:orientation="vertical"
  224.     android:layout_width="fill_parent"
  225.     android:layout_height="fill_parent"
  226.     android:minWidth="25px"
  227.     android:minHeight="25px">
  228.     <ScrollView
  229.         android:minWidth="25px"
  230.         android:minHeight="25px"
  231.         android:layout_width="fill_parent"
  232.         android:layout_height="wrap_content"
  233.         android:id="@+id/scrollView1">
  234.         <LinearLayout
  235.             android:layout_width="fill_parent"
  236.             android:layout_height="fill_parent"
  237.             android:orientation="vertical"
  238.             android:layout_alignParentTop="true"
  239.             android:id="@+id/lstPrevzem"
  240.             android:minWidth="25px"
  241.             android:minHeight="25px" />
  242.     </ScrollView>
  243. </LinearLayout>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement