Нужно именно для 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. С ним так понятно