У меня проблема.
Это упрощенный код, который я использую:
public void LoadOrderPage()
{
Android.Support.V4.View.ViewPager SummaryWalletSwitcher =
FindViewById<Android.Support.V4.View.ViewPager>(Resource.Id.SummaryWalletSwitcher);
List<View> viewlist = new List<View>();
viewlist.Add(LayoutInflater.Inflate(Resource.Layout.AgentSummary, null, false));
viewlist.Add(LayoutInflater.Inflate(Resource.Layout.AgentWallet, null, false));
SummaryWalletAdapter ViewSwitchAdapter = new SummaryWalletAdapter(viewlist);
SummaryWalletSwitcher.Adapter = ViewSwitchAdapter;
LoadAgentInfo(null, null);
Timer AgentInfo_Timer = new Timer();
AgentInfo_Timer.Interval = 1000;
AgentInfo_Timer.Elapsed += LoadAgentInfo;
AgentInfo_Timer.Enabled = true;
}
public void LoadAgentInfo(object sender, ElapsedEventArgs e)
{
TextView TextView1 = FindViewById<TextView>(Resource.Id.txtPortfolioValue);
TextView1.Text = "This is TextView 1";
}
TextView находится внутри Resource.Layout.AgentSummary
.Таймер работает нормально каждую секунду!
Но когда я вызываю LoadAgentInfo(null, null);
, он говорит, что TextView внутри этой функции является пустой ссылкой.Причина этого заключается в том, что я использую 2 макета на одной странице с помощью ViewPager.
Я уже пытался раздуть макет, откуда пришел идентификатор, следующим образом:
var InflatedAgentSummary = LayoutInflater.Inflate(Resource.Layout.AgentSummary, null);
TextView TextView1 =
InflatedAgentSummary.FindViewById<TextView>(Resource.Id.txtPortfolioValue);
Но тогдаTextView никогда не меняется!
Что я делаю не так?