Xamarin Android 片段 TextView SetText
Xamarin Android Fragment TextView SetText
我创建了一个 Fragement,并在该片段中放置了 TextView。我想更新 TextView 的文本。我使用了下面的代码,但它不起作用。
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
ViewGroup root = (ViewGroup)inflater.Inflate(Resource.Layout.homefragmentlayout, null);
var fragmentView = inflater.Inflate(Resource.Layout.homefragmentlayout, null);
System.Timers.Timer timer = new System.Timers.Timer();
timer.Interval = 1000;
timer.Elapsed += OnTimedEvent;
timer.Enabled = true;
timer.Start ();
DateTime oldDate = new DateTime(2015, 12, 25);
DateTime newDate = DateTime.Now;
TimeSpan timeSpan = oldDate - newDate;
var content = new SpannableString (timeSpan.Seconds.ToString("00"));
TextView txtSeconds = fragmentView.FindViewById<TextView>(Resource.Id.txtSeconds);
txtSeconds.SetText(content, TextView.BufferType.Spannable);
return root;
}
如果我遗漏任何内容,请告诉我。
使用来自 OnCreateView
方法的 return 相同的视图对象从当前片段布局访问视图。
目前正在 returning root
从方法但使用 fragmentView
访问和更新 TextView
.
中的文本
所以只需将 return 语句更改为 :
return fragmentView;
我创建了一个 Fragement,并在该片段中放置了 TextView。我想更新 TextView 的文本。我使用了下面的代码,但它不起作用。
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
ViewGroup root = (ViewGroup)inflater.Inflate(Resource.Layout.homefragmentlayout, null);
var fragmentView = inflater.Inflate(Resource.Layout.homefragmentlayout, null);
System.Timers.Timer timer = new System.Timers.Timer();
timer.Interval = 1000;
timer.Elapsed += OnTimedEvent;
timer.Enabled = true;
timer.Start ();
DateTime oldDate = new DateTime(2015, 12, 25);
DateTime newDate = DateTime.Now;
TimeSpan timeSpan = oldDate - newDate;
var content = new SpannableString (timeSpan.Seconds.ToString("00"));
TextView txtSeconds = fragmentView.FindViewById<TextView>(Resource.Id.txtSeconds);
txtSeconds.SetText(content, TextView.BufferType.Spannable);
return root;
}
如果我遗漏任何内容,请告诉我。
使用来自 OnCreateView
方法的 return 相同的视图对象从当前片段布局访问视图。
目前正在 returning root
从方法但使用 fragmentView
访问和更新 TextView
.
所以只需将 return 语句更改为 :
return fragmentView;