diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue15305.xaml b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue15305.xaml
deleted file mode 100644
index 048e31f2763..00000000000
--- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue15305.xaml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue15305.xaml.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue15305.xaml.cs
deleted file mode 100644
index 8c3f1367d8a..00000000000
--- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue15305.xaml.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-using System.Collections.ObjectModel;
-using Xamarin.Forms.CustomAttributes;
-using Xamarin.Forms.Internals;
-using Xamarin.Forms.Xaml;
-
-#if UITEST
-using Xamarin.Forms.Core.UITests;
-using Xamarin.UITest;
-using NUnit.Framework;
-#endif
-
-namespace Xamarin.Forms.Controls.Issues
-{
-#if UITEST
- [Category(UITestCategories.ManualReview)]
-#endif
-#if APP
- [XamlCompilation(XamlCompilationOptions.Compile)]
-#endif
- [Preserve(AllMembers = true)]
- [Issue(IssueTracker.Github, 15305, "[Android] TalkBack always considers ListView's header and footer for indexing/counting", PlatformAffected.Android)]
- public partial class Issue15305 : TestContentPage
- {
- public Issue15305()
- {
-#if APP
- InitializeComponent();
-#endif
- }
-
- protected override void Init()
- {
- BindingContext = new ViewModelIssue15305();
- }
- }
-
- [Preserve(AllMembers = true)]
- public class ViewModelIssue15305
- {
- public ViewModelIssue15305()
- {
- Items = new ObservableCollection() { "first item", "second item", };
- }
-
- public ObservableCollection Items { get; }
- }
-}
\ No newline at end of file
diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems
index 36e6cb161b6..0a236a0826d 100644
--- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems
+++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems
@@ -1864,9 +1864,6 @@
-
- Issue15305.xaml
-
MyCollectionView.xaml
Code
@@ -2425,9 +2422,6 @@
MSBuild:UpdateDesignTimeXaml
-
- MSBuild:UpdateDesignTimeXaml
-
Designer
MSBuild:UpdateDesignTimeXaml
diff --git a/Xamarin.Forms.Platform.Android/CellAdapter.cs b/Xamarin.Forms.Platform.Android/CellAdapter.cs
index a8801256ee3..1355f758de1 100644
--- a/Xamarin.Forms.Platform.Android/CellAdapter.cs
+++ b/Xamarin.Forms.Platform.Android/CellAdapter.cs
@@ -132,12 +132,13 @@ bool AActionMode.ICallback.OnPrepareActionMode(AActionMode mode, IMenu menu)
public void OnItemClick(AdapterView parent, AView view, int position, long id)
{
- var listView = parent as AListView;
- if (listView != null)
- position -= listView.HeaderViewsCount;
-
if (_actionMode != null || _supportActionMode != null)
+ {
+ var listView = parent as AListView;
+ if (listView != null)
+ position -= listView.HeaderViewsCount;
HandleContextMode(view, position);
+ }
else
HandleItemClick(parent, view, position, id);
}
diff --git a/Xamarin.Forms.Platform.Android/Renderers/ListViewAdapter.cs b/Xamarin.Forms.Platform.Android/Renderers/ListViewAdapter.cs
index 2173ce4dc74..26c2cc2ef73 100644
--- a/Xamarin.Forms.Platform.Android/Renderers/ListViewAdapter.cs
+++ b/Xamarin.Forms.Platform.Android/Renderers/ListViewAdapter.cs
@@ -481,6 +481,9 @@ protected override void HandleItemClick(AdapterView parent, AView view, int posi
cell = (Cell)(cellOwner as INativeElementView)?.Element;
}
+ // All our ListView's have called AddHeaderView. This effectively becomes index 0, so our index 0 is index 1 to the listView.
+ position--;
+
if (position < 0 || position >= Count)
return;
diff --git a/Xamarin.Forms.Platform.Android/Renderers/ListViewRenderer.cs b/Xamarin.Forms.Platform.Android/Renderers/ListViewRenderer.cs
index 6992abadd5b..2bad29eb08e 100644
--- a/Xamarin.Forms.Platform.Android/Renderers/ListViewRenderer.cs
+++ b/Xamarin.Forms.Platform.Android/Renderers/ListViewRenderer.cs
@@ -365,14 +365,7 @@ void UpdateFooter()
}
if (footer == null)
- {
- if (_footerView.ChildCount == 0)
- {
- AListView nativeListView = Control;
- nativeListView.RemoveFooterView(_adapter.FooterView);
- }
return;
- }
if (_footerRenderer != null)
_footerRenderer.SetElement(footer);
@@ -404,14 +397,7 @@ void UpdateHeader()
}
if (header == null)
- {
- if (_headerView.ChildCount == 0)
- {
- AListView nativeListView = Control;
- nativeListView.RemoveHeaderView(_adapter.HeaderView);
- }
return;
- }
if (_headerRenderer != null)
_headerRenderer.SetElement(header);