如何在Xamarin.Android中的ListActivity上的项目上添加图标或图片。

山姆拉

我想添加刻度线或十字线,具体取决于对象属性的状态。这是我在MainActivity中的代码,该代码使用意图传递了列表:

Button callHistoryButton = FindViewById<Button>(Resource.Id.ScanHistoryButton);
            callHistoryButton.Click += (sender, e) =>
            {
                var intent = new Intent(this, typeof(ScanHistoryActivity));
                intent.PutStringArrayListExtra("Codes", codes);
                StartActivity(intent);
            };

这是我在ListActivity中的代码:

public class ScanHistoryActivity : ListActivity
{
    protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);
        var codes = Intent.Extras.GetStringArrayList("Codes");
        codes.ToList();
        ListAdapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItemChecked, codes);
    }
}

这是我创建的对象:

[DataContract]
public class Scan
{
    [DataMember]
    public string ScanValue { get; set; }
    [DataMember]
    public string Action { get; set; }

    public bool Success { get; set; }
}

因此,如果对象成功属性为true,则我想在ScanhistoryActivity中显示一个绿色的勾号,如果为false,则显示一个红色的叉号。我不希望人们能够手动选择或取消选择。

列表活动是否适合此活动?

克罗索斯

您必须创建自己的自定义适配器才能起作用。

另外,您还必须创建一个布局,以便使用适配器在列表中填充数据(例如,每行的布局)。

例如:

AdapterRow.axml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:id="@+id/checkBox1"
    android:focusable="false"
    android:focusableInTouchMode="false" />
<ImageView xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_gravity="center"
    android:background="#ff997eff"
    android:layout_marginLeft="10dp"
    android:id="@+id/BusinessImageView" />

Adapter.cs

using System;
using System.Collections.Generic;
using System.Globalization;
using System.Net;
using System.Threading.Tasks;

using System.Linq;

using Android.App;
using Android.Graphics;
using Android.Views;
using Android.Widget;

namespace testProject
{
public class SomeAdapter : BaseAdapter<Staff>
{
    private readonly List<Staff> _list;
    private readonly Activity _context;
    public int position;


    public SomeAdapter (Activity context, List<Staff> list)
    {
        _context = context;
        _list = list;
    }

    public List<Staff> GetList()
    {
        return _list;
    } 

    public override long GetItemId(int position)
    {
        return position;
    }

    public override int Count
    {
        get { return _list.Count; }
    }

    public override Staff this[int position]
    {
        get { return _list[position]; }
    }

    public override View GetView(int position, View convertView, ViewGroup parent)
    {
        var view = convertView;

        if (view == null) {
            view = _context.LayoutInflater.Inflate(Resource.Layout.adapterRow, null);
        }

        ImageView img1 = view.FindViewById<ImageView> (Resource.Id.BusinessImageView);
        CheckBox chk  = view.FindViewById<CheckBox> (Resource.Id.checkBox1);
//Do aything you want with the data here using _list[position]

        return view;

    }

}

}

这是如何使用适配器填充listview的方法

_ListView = FindViewById<ListView>(Resource.Id.ListView);
_ListView .ItemClick += _ListView_OnItemClick;
_staffList = new List<Staff>();
_staffList = //Fill it with data
var adapter = new SomeAdapter (this, _staffList);
_ListView.Adapter = adapter;
adapter.NotifyDataSetChanged();

并选中或取消选中勾号:

private void _ListView_OnItemClick(object sender, AdapterView.ItemClickEventArgs e)
    {
        {
            CheckBox chk = e.View.FindViewById<CheckBox>(Resource.Id.checkBox1);
            if (chk.Checked == true)
            {
                chk.Checked = false;

            }
            else
            {
                chk.Checked = true;
            }
        }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Android Xamarin Visual Studio中单击按钮上的MvxListView上显示新项目

来自分类Dev

Xamarin Android:如何在 Canvas 上绘图

来自分类Dev

如何在Xamarin Forms中的条目上添加视觉前缀?

来自分类Dev

如何在工具栏上显示项目图标Android

来自分类Dev

如何在Android上为列表视图项目设置图标

来自分类Dev

如何在 Xamarin.android 中单击的项目上从 recyclerview 传递数据

来自分类Dev

如何在Xamarin Android上的片段中设置actionBar?

来自分类Dev

如何在Android上使用Xamarin中的ScrollView

来自分类Dev

如何在Xamarin中拍照?

来自分类Dev

如何在图片上添加文字?

来自分类Dev

如何在 QDial 上添加资源图片?

来自分类Dev

如何在Xamarin中删除android actionbar图标?

来自分类Dev

如何在导航抽屉上添加图标?

来自分类Dev

如何在Xamarin上添加按钮n次

来自分类Dev

如何在Android Studio上向我的项目添加库?

来自分类Dev

如何在Android项目属性中启用调试(Xamarin Android)

来自分类Dev

如何在列表中的每个项目上添加数字?

来自分类Dev

如何在Xamarin Android中翻转图像?

来自分类Dev

如何在Android上的Xamarin中使用Spatialite

来自分类Dev

如何在Xamarin.Android上播放默认按钮的声音?

来自分类Dev

如何在Android上的Xamarin C#中等待OnActivityResult

来自分类Dev

如何在Xamarin上使用本机Android XML?

来自分类Dev

如何在xamarin.ios中的图像上滚动文本

来自分类Dev

如何在 Xamarin Forms 中的按钮上创建网格

来自分类Dev

如何在Xamarin Android微调器中添加元素?

来自分类Dev

如何在ScrollView中的ImageView上动态添加按钮?安卓。Xamarin

来自分类Dev

如何在VS 2015中将Android xamarin项目部署到Xamarin Android Player

来自分类Dev

如何在Xamarin Android中使用RunOnUIThread()

来自分类Dev

如何在Xamarin Android中使用RunOnUIThread()

Related 相关文章

  1. 1

    如何在Android Xamarin Visual Studio中单击按钮上的MvxListView上显示新项目

  2. 2

    Xamarin Android:如何在 Canvas 上绘图

  3. 3

    如何在Xamarin Forms中的条目上添加视觉前缀?

  4. 4

    如何在工具栏上显示项目图标Android

  5. 5

    如何在Android上为列表视图项目设置图标

  6. 6

    如何在 Xamarin.android 中单击的项目上从 recyclerview 传递数据

  7. 7

    如何在Xamarin Android上的片段中设置actionBar?

  8. 8

    如何在Android上使用Xamarin中的ScrollView

  9. 9

    如何在Xamarin中拍照?

  10. 10

    如何在图片上添加文字?

  11. 11

    如何在 QDial 上添加资源图片?

  12. 12

    如何在Xamarin中删除android actionbar图标?

  13. 13

    如何在导航抽屉上添加图标?

  14. 14

    如何在Xamarin上添加按钮n次

  15. 15

    如何在Android Studio上向我的项目添加库?

  16. 16

    如何在Android项目属性中启用调试(Xamarin Android)

  17. 17

    如何在列表中的每个项目上添加数字?

  18. 18

    如何在Xamarin Android中翻转图像?

  19. 19

    如何在Android上的Xamarin中使用Spatialite

  20. 20

    如何在Xamarin.Android上播放默认按钮的声音?

  21. 21

    如何在Android上的Xamarin C#中等待OnActivityResult

  22. 22

    如何在Xamarin上使用本机Android XML?

  23. 23

    如何在xamarin.ios中的图像上滚动文本

  24. 24

    如何在 Xamarin Forms 中的按钮上创建网格

  25. 25

    如何在Xamarin Android微调器中添加元素?

  26. 26

    如何在ScrollView中的ImageView上动态添加按钮?安卓。Xamarin

  27. 27

    如何在VS 2015中将Android xamarin项目部署到Xamarin Android Player

  28. 28

    如何在Xamarin Android中使用RunOnUIThread()

  29. 29

    如何在Xamarin Android中使用RunOnUIThread()

热门标签

归档