首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将两个适配器添加到一个listView (xamarin android)

在Xamarin Android中将两个适配器添加到一个ListView的方法是通过创建一个自定义适配器来实现。以下是实现此功能的步骤:

  1. 创建自定义适配器类:public class CustomAdapter : BaseAdapter { private List<string> data1; private List<string> data2; private Context context;
代码语言:txt
复制
   public CustomAdapter(Context context, List<string> data1, List<string> data2)
代码语言:txt
复制
   {
代码语言:txt
复制
       this.context = context;
代码语言:txt
复制
       this.data1 = data1;
代码语言:txt
复制
       this.data2 = data2;
代码语言:txt
复制
   }
代码语言:txt
复制
   public override int Count => data1.Count;
代码语言:txt
复制
   public override Java.Lang.Object GetItem(int position)
代码语言:txt
复制
   {
代码语言:txt
复制
       return null;
代码语言:txt
复制
   }
代码语言:txt
复制
   public override long GetItemId(int position)
代码语言:txt
复制
   {
代码语言:txt
复制
       return position;
代码语言:txt
复制
   }
代码语言:txt
复制
   public override View GetView(int position, View convertView, ViewGroup parent)
代码语言:txt
复制
   {
代码语言:txt
复制
       View view = convertView;
代码语言:txt
复制
       if (view == null)
代码语言:txt
复制
       {
代码语言:txt
复制
           LayoutInflater inflater = (LayoutInflater)context.GetSystemService(Context.LayoutInflaterService);
代码语言:txt
复制
           view = inflater.Inflate(Android.Resource.Layout.SimpleListItem2, null);
代码语言:txt
复制
       }
代码语言:txt
复制
       TextView text1 = view.FindViewById<TextView>(Android.Resource.Id.Text1);
代码语言:txt
复制
       TextView text2 = view.FindViewById<TextView>(Android.Resource.Id.Text2);
代码语言:txt
复制
       text1.Text = data1[position];
代码语言:txt
复制
       text2.Text = data2[position];
代码语言:txt
复制
       return view;
代码语言:txt
复制
   }

}

代码语言:txt
复制
  1. 在Activity中使用自定义适配器:public class MainActivity : Activity { private ListView listView; private List<string> data1; private List<string> data2;
代码语言:txt
复制
   protected override void OnCreate(Bundle savedInstanceState)
代码语言:txt
复制
   {
代码语言:txt
复制
       base.OnCreate(savedInstanceState);
代码语言:txt
复制
       SetContentView(Resource.Layout.activity_main);
代码语言:txt
复制
       listView = FindViewById<ListView>(Resource.Id.listView);
代码语言:txt
复制
       // 初始化数据
代码语言:txt
复制
       data1 = new List<string> { "Item 1", "Item 2", "Item 3" };
代码语言:txt
复制
       data2 = new List<string> { "Description 1", "Description 2", "Description 3" };
代码语言:txt
复制
       // 创建自定义适配器
代码语言:txt
复制
       CustomAdapter adapter = new CustomAdapter(this, data1, data2);
代码语言:txt
复制
       // 设置适配器
代码语言:txt
复制
       listView.Adapter = adapter;
代码语言:txt
复制
   }

}

代码语言:txt
复制
  1. 在布局文件中添加ListView:<?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">
代码语言:txt
复制
   <ListView
代码语言:txt
复制
       android:id="@+id/listView"
代码语言:txt
复制
       android:layout_width="match_parent"
代码语言:txt
复制
       android:layout_height="match_parent" />

</LinearLayout>

代码语言:txt
复制

这样,你就可以将两个适配器的数据添加到一个ListView中显示了。自定义适配器中的GetView方法用于设置每个列表项的显示内容,你可以根据自己的需求进行修改。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券