Main.axml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView
android:id="@+id/lstView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
Activity1.cs:
using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using System.Collections.Generic;
namespace ListViewWithBaseAdapter
{
[Activity(Label = "ListViewWithBaseAdapter", MainLauncher = true, Icon = "@drawable/icon")]
public class Activity1 : Activity
{
int count = 1;
ClassListView searchList;
static List<PropertyDetails> objSearchList = new List<PropertyDetails>();
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
ListView lstView = FindViewById<ListView>(Resource.Id.lstView);
searchList = new ClassListView(this);
lstView.Adapter = searchList;
}
}
}
ClassListView.cs:
using System;
using System.Collections.Generic;
using System.Text;
using Android.Widget;
using Android.App;
namespace ListViewWithBaseAdapter
{
public class ClassListView : BaseAdapter
{
Activity context;
List<PropertyDetails> SearchResults = new List<PropertyDetails>();
public ClassListView(Activity context)
: base()
{
this.context = context;
SearchResults.Add(new PropertyDetails { PropertyID = "1" });
SearchResults.Add(new PropertyDetails { PropertyID = "2" });
SearchResults.Add(new PropertyDetails { PropertyID = "3" });
SearchResults.Add(new PropertyDetails { PropertyID = "4" });
SearchResults.Add(new PropertyDetails { PropertyID = "5" });
SearchResults.Add(new PropertyDetails { PropertyID = "6" });
SearchResults.Add(new PropertyDetails { PropertyID = "7" });
SearchResults.Add(new PropertyDetails { PropertyID = "8" });
SearchResults.Add(new PropertyDetails { PropertyID = "9" });
SearchResults.Add(new PropertyDetails { PropertyID = "10" });
}
public override int Count
{
get { return SearchResults.Count; }
}
public override Java.Lang.Object GetItem(int position)
{
return position;
}
public override long GetItemId(int position)
{
return position;
}
public override Android.Views.View GetView(int position, Android.Views.View convertView, Android.Views.ViewGroup parent)
{
var item = SearchResults[position];
var view = (convertView ?? context.LayoutInflater.Inflate(Resource.Layout.ListDesign, parent, false)) as LinearLayout;
var tvPropertyName = view.FindViewById(Resource.Id.tvItemTitle) as TextView;
tvPropertyName.SetText(item.PropertyID, TextView.BufferType.Normal);
return view;
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView
android:id="@+id/lstView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
Activity1.cs:
using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using System.Collections.Generic;
namespace ListViewWithBaseAdapter
{
[Activity(Label = "ListViewWithBaseAdapter", MainLauncher = true, Icon = "@drawable/icon")]
public class Activity1 : Activity
{
int count = 1;
ClassListView searchList;
static List<PropertyDetails> objSearchList = new List<PropertyDetails>();
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
ListView lstView = FindViewById<ListView>(Resource.Id.lstView);
searchList = new ClassListView(this);
lstView.Adapter = searchList;
}
}
}
ClassListView.cs:
using System;
using System.Collections.Generic;
using System.Text;
using Android.Widget;
using Android.App;
namespace ListViewWithBaseAdapter
{
public class ClassListView : BaseAdapter
{
Activity context;
List<PropertyDetails> SearchResults = new List<PropertyDetails>();
public ClassListView(Activity context)
: base()
{
this.context = context;
SearchResults.Add(new PropertyDetails { PropertyID = "1" });
SearchResults.Add(new PropertyDetails { PropertyID = "2" });
SearchResults.Add(new PropertyDetails { PropertyID = "3" });
SearchResults.Add(new PropertyDetails { PropertyID = "4" });
SearchResults.Add(new PropertyDetails { PropertyID = "5" });
SearchResults.Add(new PropertyDetails { PropertyID = "6" });
SearchResults.Add(new PropertyDetails { PropertyID = "7" });
SearchResults.Add(new PropertyDetails { PropertyID = "8" });
SearchResults.Add(new PropertyDetails { PropertyID = "9" });
SearchResults.Add(new PropertyDetails { PropertyID = "10" });
}
public override int Count
{
get { return SearchResults.Count; }
}
public override Java.Lang.Object GetItem(int position)
{
return position;
}
public override long GetItemId(int position)
{
return position;
}
public override Android.Views.View GetView(int position, Android.Views.View convertView, Android.Views.ViewGroup parent)
{
var item = SearchResults[position];
var view = (convertView ?? context.LayoutInflater.Inflate(Resource.Layout.ListDesign, parent, false)) as LinearLayout;
var tvPropertyName = view.FindViewById(Resource.Id.tvItemTitle) as TextView;
tvPropertyName.SetText(item.PropertyID, TextView.BufferType.Normal);
return view;
}
}
}
ListDesign.axml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="match_parent"
android:textStyle="bold"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="0dp"
android:textSize="20dp"
android:id="@+id/tvItemTitle" />
</LinearLayout>
PropertyDetails.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ListViewWithBaseAdapter
{
class PropertyDetails
{
public string PropertyID { set; get; }
}
}
Output:
No comments:
Post a Comment