【问题标题】:Do/can I add ListView section headers in the GetView method?是否/可以在 GetView 方法中添加 ListView 部分标题?
【发布时间】:2014-06-01 14:10:21
【问题描述】:

在 Xamarin 中,我有一个带有以下 GetView 方法的 ListView 适配器:

public override View GetView(int position, View convertView, ViewGroup parent)
{
    var item = items[position];
    View view = convertView;
    if (view == null)
        view = context.LayoutInflater.Inflate(Resource.Layout.MapLocationDetail, null);
    view.FindViewById<TextView>(Resource.Id.TextViewMapHeading).Text = item.Heading;
    view.FindViewById<TextView> (Resource.Id.TextViewDescription).Text = item.SubHeading;
    view.FindViewById<ImageView>(Resource.Id.Image).SetImageResource(item.ImageResourceId);
    return view;
}

ListView 的所需位置添加默认ListView section header 的过程是什么?

这是在GetView 方法中完成的,还是在其他地方完成的?另外,是否有用于默认节标题的内置布局?

提前致谢

【问题讨论】:

    标签: android android-listview xamarin sectionheader getview


    【解决方案1】:

    与 Xamarin.iOS 不同,没有一种方便的方法可以覆盖节标题。

    您需要做的是将剖面视图包含在常规视图单元格中。默认情况下,您希望将此剖面视图的可见性设置为“已消失”。在您的 GetView 方法中,您可以检测您是否位于该部分的开头。如果是这样,您将该剖面视图的可见性设置为“可见”并设置您想要的任何文本。

    这是一个小代码示例:

    var headerTextView = view.FindViewById (Resource.Id.parentDirectoryHeader) as TextView;
    
    if (position != 0) {
        view.FindViewById (Resource.Id.parentDirectoryHeader).Visibility = ViewStates.Visible;
    } else {
        view.FindViewById (Resource.Id.parentDirectoryHeader).Visibility = ViewStates.Gone;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-16
      • 2022-11-11
      • 1970-01-01
      • 1970-01-01
      • 2012-07-03
      • 2014-02-10
      相关资源
      最近更新 更多