如果View
在OnCreateView()
(這是不是在UI線程從我的理解),操控(即TextView's
文本)可以將其引起它的異常(在此聲明最終執行,並改掉到更新TextView
,只要可能)?可以從UI線程中更新TextView會在其中導致異常嗎?
例如,當設置的文本沒有真正顯示在屏幕小部件上時,是否可能發生了一個異常,導致無法顯示被UI線程佔用的異常(或者應該在記錄器中顯示異常)?
public class RecordView : Fragment
{
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle bundle)
{
base.OnCreateView(inflater, container, bundle);
ViewGroup thisView = (ViewGroup) inflater.Inflate(Resource.Layout.Record, container, false);
TextView tvData = thisView.FindViewById<TextView>(Resource.Id.tv_data);
tvData.Text = "can this cause exception in UI thread?";
return thisView;
}
}
是的,它可以。尤其是使用碎片時。 – Submersed