访问适配器中的列表

时间:2017-01-02 02:39:50

标签: c# android xamarin xamarin.android

目前我正在使用C#和Xamarain并正在为Android开发。我现在拥有的是一个活动(activity_MainView2),它包含一个列表视图并附加了一个适配器(adapter_MainView2)。我还有一个列表(gCartList),它位于活动内部,我希望能够在适配器内部访问以添加用户单击的行ID。我在适配器内部设置了onClick侦听器,但我不确定如何访问该列表。对不起,我对c#很陌生。提前感谢您的帮助。

来自活动

scheme:///

在活动中按下购物车按钮

public List<Cart_List> gCartList { get; set; } = new List<Cart_List>();

public override bool OnOptionsItemSelected(IMenuItem item)
        {
            if (gDrawerToggle.OnOptionsItemSelected(item))
            {
                return true;
            }
            else
            {
                switch (item.ItemId)
                {
                    case Resource.Id.cartButton:
                        Toast.MakeText(this, ("Cart Pressed").ToString(),              ToastLength.Short).Show();

在适配器

foreach (var tI in gCartList.OrderBy(a => a.Busn_ID)) System.Diagnostics.Debug.Write(tI); return true; } } return base.OnOptionsItemSelected(item); }

1 个答案:

答案 0 :(得分:1)

您可以在活动中创建一个属性,然后可以像这样访问它:

ls -l /DataVolume/
drwxrwxr-x  4 root root      65536 2013-11-14 21:15 home
drwxrwxr-x  7 root share     65536 2017-01-04 10:16 shares
ls -l /DataVolume/home/
drwxr-xr-x 7 alex   share 65536 2017-01-01 22:24 alex
ls -l /DataVolume/home/alex
-rw-rw-rw- 1 alex share     4 2017-01-04 10:20 test.txt
ls -l /DataVolume/shares/
drwxrwxrw-  2 alex   share 65536 2017-01-04 10:23 test

或者您可以将它传递给构造函数,如下所示:

public class Activity1
{
    pubic Activity1()
    {
        this.SomeThings = new List<object>();
    }
    public List<object> SomeThings { get; set; }
}

public class Activity2
{
    public Activity2()
    {
        // Now in this clas you can access the item to be shared
        Activity1 act = new Activity1();
        var things = act.SomeThings;
    }
}