In diesem Beispiel zeigen wir, wie Sie eine ListView mit Abschnitt Header erstellen. Dies beinhaltet folgende SchritteWie erstellt man einen Android-ListView mit Abschnitt Header Xamarin Android? Ich habe 17 Fehler
Erstellen Sie zwei benutzerdefinierte Layout für Ihre Listenkopf und Liste Reihe Ihren kundenspezifischen Adapter für Instantiate Listview Listview Erstellen Sie in Ihrer Tätigkeit
ich 17 Fehler bekommen hatte. Ich möchte Listenansicht mit Abschnitt Header Xamarin Android erstellen. http://javatechig.com/android/listview-with-section-header-in-android
ich von Java zu konvertieren C#
> - `public class CustomAdapter:BaseAdapter`->does not implement abstract member `android.widget.baseAdapter.getitem(int)`
> - `Android.Widget.BaseAdapter.NotifyDataSetChanged()`-> An object reference is requered to access non-static member .....
> - `return mData.GetRange(position)`;-> no overload for method 'getrange'take 1 arguments
> - `convertView = mInflater.Inflate(Resource.Layout.textViewHeaderItems, false)`;-> the
> best overloaded method match for ..... has some invalid arguments
> - `convertView.SetTag(holder);`-> no overload for method ... tkae 2 arguments
> - `holder.textView.SetText(mData.get(position))`; type system.collection.generic.list<string> does not contain a defintion
> for 'get'and no extension method 'get'of type
> `system.Colleciton.Generic.List<string>` could be found. Are you
> missing an assembly
public class CustomAdapter:BaseAdapter
\t \t {
\t \t \t private const int TYPE_ITEM = 0;
\t \t \t private const int TYPE_SEPARATOR = 1;
\t \t \t private List<String> mData = new List<String>();
\t \t \t private TreeSet sectionHeader = new TreeSet();
\t \t \t private LayoutInflater mInflater;
\t \t \t public CustomAdapter(Context context) {
\t \t \t \t mInflater = (LayoutInflater) context
\t \t \t \t \t .GetSystemService(Context.LayoutInflaterService);
\t \t \t }
\t \t \t public void addItem(String item) {
\t \t \t \t mData.Add(item);
\t \t \t \t Android.Widget.BaseAdapter.NotifyDataSetChanged();
\t \t \t }
\t \t \t public void addSectionHeaderItem(String item) {
\t \t \t \t mData.Add(item);
\t \t \t \t sectionHeader.Add(mData.Count - 1);
\t \t \t \t Android.Widget.BaseAdapter.NotifyDataSetChanged();
\t \t \t }
\t \t
\t \t \t public int getItemViewType(int position) {
\t \t \t \t return sectionHeader.Contains(position) ? TYPE_SEPARATOR : TYPE_ITEM;
\t \t \t }
\t
\t \t \t public int getViewTypeCount() {
\t \t \t \t return 2;
\t \t \t }
\t
\t \t \t public int getCount() {
\t \t \t \t return mData.Count;
\t \t \t }
\t \t
\t \t \t public String getItem(int position) {
\t \t \t \t return mData.GetRange(position);
\t \t \t }
\t \t
\t \t \t public long getItemId(int position) {
\t \t \t \t return position;
\t \t \t }
\t \t \t public View getView(int position, View convertView, ViewGroup parent) {
\t \t \t \t ViewHolder holder = null;
\t \t \t \t int rowType = getItemViewType(position);
\t \t \t \t if (convertView == null) {
\t \t \t \t \t holder = new ViewHolder();
\t \t \t \t \t switch (rowType) {
\t \t \t \t \t case TYPE_ITEM:
\t \t \t \t \t \t convertView = mInflater.Inflate(Resource.Layout.textViewHeaderItems, false);
\t \t \t \t \t \t holder.textView = (TextView) convertView.FindViewById(Resource.Id.textviewHeaderItems);
\t \t \t \t \t \t break;
\t \t \t \t \t case TYPE_SEPARATOR:
\t \t \t \t \t \t convertView = mInflater.Inflate(Resource.Layout.textViewItemsSeparator, false);
\t \t \t \t \t \t holder.textView = (TextView) convertView.FindViewById(Resource.Id.textviewItemsSeparator);
\t \t \t \t \t \t break;
\t \t \t \t \t }
\t \t \t \t \t convertView.SetTag(holder);
\t \t \t \t } else {
\t \t \t \t \t holder = (ViewHolder) convertView.GetTag();
\t \t \t \t }
\t \t \t \t holder.textView.SetText(mData.get(position));
\t \t \t \t return convertView;
\t \t \t }
\t \t \t public class ViewHolder {
\t \t \t \t public TextView textView;
\t \t \t }
\t \t }
ich uns die „Suche“, aber es gibt viele Informationen. Ich verstehe nicht –
kann nicht Treeset verwenden <> –
Mein Beitrag aktualisiert. bitte kannst du es überprüfen –