Skip to content

Commit 10778c6

Browse files
author
Michael Pham
committed
Fix for #9: NullReferenceException when SelectTab called with no tabbed pages or tab pages cleared.
1 parent 6ef9938 commit 10778c6

File tree

4 files changed

+10
-4
lines changed

4 files changed

+10
-4
lines changed

src/NativeCode.Mobile.AppCompat.Renderers/Renderers/AppCompatButtonRenderer.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ protected override void OnElementChanged(ElementChangedEventArgs<Button> e)
2626
// in the base method.
2727
if (this.Control == null)
2828
{
29-
var control = new AppCompatButton(this.Context.GetAppCompatThemedContext());
29+
var context = this.Context.GetAppCompatThemedContext();
30+
var control = new AppCompatButton(context);
3031
this.SetNativeControl(control);
3132

3233
control.SetOnClickListener(ButtonClickListener.Instance);

src/NativeCode.Mobile.AppCompat.Renderers/Renderers/AppCompatEntryRenderer.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,8 @@ protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
6767

6868
if (e.OldElement == null)
6969
{
70-
var control = new AppCompatEntryEditText(this.Context.GetAppCompatThemedContext());
70+
var context = this.Context.GetAppCompatThemedContext();
71+
var control = new AppCompatEntryEditText(context);
7172
this.SetNativeControl(control);
7273

7374
this.Control.ImeOptions = ImeAction.Done;

src/NativeCode.Mobile.AppCompat.Renderers/Renderers/AppCompatSwitchRenderer.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ protected override void OnElementChanged(ElementChangedEventArgs<Switch> e)
8585

8686
if (this.Control == null)
8787
{
88-
var control = new SwitchCompat(this.Context.GetAppCompatThemedContext());
88+
var context = this.Context.GetAppCompatThemedContext();
89+
var control = new SwitchCompat(context);
8990
control.SetOnCheckedChangeListener(this);
9091
this.SetNativeControl(control);
9192
}

src/NativeCode.Mobile.AppCompat/FormsAppCompat/Adapters/ActionBarAdapter.cs

+4-1
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,10 @@ public override void RemoveTab(Tab tab)
182182
[Obsolete("Will be removed in a future version.", false)]
183183
public override void SelectTab(Tab tab)
184184
{
185-
this.SupportActionBar.SelectTab(((TabAdapter)tab).SupportTab);
185+
if (tab != null)
186+
{
187+
this.SupportActionBar.SelectTab(((TabAdapter)tab).SupportTab);
188+
}
186189
}
187190

188191
[Obsolete("Will be removed in a future version.", false)]

0 commit comments

Comments
 (0)