片段xamarin中的自定义列表视图(如何从片段中调用自定义列表视图适配器)

本文关键字:列表 片段 自定义 视图 调用 适配器 xamarin | 更新日期: 2023-09-27 18:13:53

(如何从片段中调用自定义列表视图适配器)

任何调用自定义列表视图适配器并显示列表的方法。

我有"家"。

我需要从Home.cs(列表片段)调用一个自定义列表视图适配器,并在Home.axml

中显示它下面是我的代码。

namespace AndroidApp2.Fragments
{
    public class Home : ListFragment
    {
         public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
          {  
        var adapter = new ArrayAdapter<String>(Activity, Android.Resource.Layout.SimpleListItemChecked, allheading);
        ListAdapter = adapter; 
        return base.OnCreateView(inflater, container, savedInstanceState);
          }    
    }
}

上面的代码是我使用的,它对我来说工作得很好。但是如何创建一个服装列表视图适配器,能够从片段调用?

Home.axml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:minWidth="25px"
    android:minHeight="25px">
    <fragment
        android:id="@+id/heading_fragment"
        android:layout_weight="1"
        android:layout_width="0px"
        android:layout_height="match_parent" />
    <FrameLayout
        android:id="@+id/details"
        android:layout_weight="1"
        android:layout_width="0px"
        android:layout_height="match_parent" />
</LinearLayout>

片段xamarin中的自定义列表视图(如何从片段中调用自定义列表视图适配器)

Take a look on this code. I manged to call it from fragment, i only had to set the context properly otherwise i got this error "Window.getLayoutInflater()' on a null object reference".

        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            var view = inflater.Inflate(Resource.Layout.TagDialog, container, false);
            Button confirmBtn = view.FindViewById<Button>(Resource.Id.ConfirmBtn);
            Button cancelBtn = view.FindViewById<Button>(Resource.Id.CancelBtn);
            AbsenceService service = new AbsenceService();
            ListViewTags = view.FindViewById<ListView>(Resource.Id.TagListView);
            TagItems = service.GetTags(1);
            ListViewTags.Adapter = new Cards_TagListAdapter(context, TagItems);
            // "Cancel" click
            cancelBtn.Click += delegate {
                Dismiss();
            };
            confirmBtn.Click += ConfirmBtn_Click;
            return view;
        }