@releyshic

Как обратиться к полю/свойству окна представления BlockList: Activity, имея переданную ссылку Activity (Xamarin.Android)?

Нужно именно для Xamarin.Android.
Как здесь в методе public override View GetGroupView обратиться к lblListHeader, lvExp ???
public class BlockList : Activity
{            
        ExpandableListAdapter listAdapter;
        ExpandableListView expListView;

        public ExpandableListView lvExp;
        public TextView lblListHeader;
        public TextView lblListItem;

        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Create your application here
            SetContentView(Resource.Layout.BlockList); // загружаем наш Активити (страницу xml) из папки Resources.Layout
...
            listAdapter = new ExpandableListAdapter(this, listDataHeader, listDataChild);
            expListView.SetAdapter(listAdapter);
}


public class ExpandableListAdapter : BaseExpandableListAdapter
    {
        private Activity _context;
        private List<string> _listDataHeader; // header titles
                                              // child data in format of header title, child title
        private Dictionary<string, List<string>> _listDataChild;

        public ExpandableListAdapter(Activity context, List<string> listDataHeader, Dictionary<String, List<string>> listChildData)
        {
            _context = context;
            _listDataHeader = listDataHeader;
            _listDataChild = listChildData;
        }
        public override View GetGroupView(int groupPosition, bool isExpanded, View convertView, ViewGroup parent)
        {
...     <i><b>Как здесь обратиться к lblListHeader, lvExp ???</b></i>
         }


Или нужно сам BlockList передавать?

2 вопрос: как получить доступ к BlockList из MainPage ?
public class MainActivity : AppCompatActivity
    {
        public static MainActivity MainActivityInstance { get; private set; }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            Xamarin.Essentials.Platform.Init(this, savedInstanceState);
            MainActivityInstance = this;

            // Create your application here
            Intent intent = new Intent(this, typeof(BlockList)); // загружаем наш класс для Активити typeof(RetryPage)
            StartActivity(intent);


Всё это нужно без XAMl. С ним так понятно
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы