2016-10-19 138 views
1

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

任何方式调用自定义列表视图适配器和显示列表。

我有“Home.axml”和Home.cs(名单片段)

我需要调用从Home.cs一个自定义列表视图适配器(名单片段),并显示它在Ho​​me.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); 
      }  
    } 
} 

上面的代码是什么现在用的,这是工作对我罚款。但如何创建一个能够从fragment调用的服装列表视图适配器?

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> 
+1

在这里看到:http://stackoverflow.com/questions/8166497/custom-adapter-for-list-view – pnavk

+0

我同意,但也从一个Activity调用自定义列表视图适配器不是从一个片段,我需要从片段调用它。 – Pravee

+0

活动/片段关系的概念是不是所有逻辑和“工作”都在活动上完成的?不能你的片段调用父活动的方法:'((MyActivity)Activity).MyMethod();' – jaymarvels

回答

1
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; 
     } 
相关问题