Android BackTalk kann kein Eingabefeld betreten, wenn es in einer ListView platziert wirdC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Android BackTalk kann kein Eingabefeld betreten, wenn es in einer ListView platziert wird

Post by Anonymous »

Ich versuche derzeit, einer mit DotNet MAUI geschriebenen mobilen Anwendung Barrierefreiheitsfunktionen hinzuzufügen. Im Verlauf des Tests stellte sich heraus, dass Eingabekomponenten unter bestimmten Bedingungen nicht aktiviert und die Bildschirmtastatur nicht angezeigt werden konnten.
Derzeit verwendet unser Design eine ListView auf ähnliche Weise wie eine zusammenklappbare Ansicht – die Form eines bestimmten Datensatzes wird angezeigt, wenn Sie auf einen benutzerdefinierten Header tippen, der in der ViewCell der ListView angezeigt wird.
Wenn ein Eingabefeld innerhalb einer ListView von BackTalk – dem integrierten Barrierefreiheitsdienst von Android – hervorgehoben wird, fordert BackTalk den Benutzer auf, irgendwo auf dem Bildschirm doppelt zu tippen, um das Eingabefeld und seine Tastatur zu aktivieren. Dies führt jedoch zu nichts.
Ich habe versucht, TapGestureRecognizers zu Eingabefeldern hinzuzufügen, aber Haltepunkte dieser Funktionen werden nie erreicht – die Funktionen werden nicht ausgelöst.
Ich habe ein Beispielprojekt mit der Maui-Projektvorlage erstellt, deren Code hier ist:

Code: Select all






























Code: Select all

//MainPage.xaml.cs

public partial class MainPage : ContentPage
{
public MainPage(MainPageModel model)
{
InitializeComponent();
BindingContext = model;
}

private void TapGestureRecognizer_Tapped(object sender, TappedEventArgs e)
{
var a = 1; //a breakpoint on this line is never hit.
}
}

Code: Select all

//MainPageModel.cs

public partial class MainPageModel : ObservableObject, IProjectTaskPageModel
{
public MainPageModel()
{

}

//The type CategoryChartData is auto-generated by VS when creating a MAUI project.
[ObservableProperty]
private List _todoCategoryData = new List()
{
new CategoryChartData("hello world!", 1)
};

public IAsyncRelayCommand NavigateToTaskCommand => throw new NotImplementedException();

public bool IsBusy => throw new NotImplementedException();
}
Kennt jemand eine Problemumgehung für dieses Problem? Gibt es eine andere Komponente, die ich verwenden sollte? Vielleicht ein ganz anderer Ansatz?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post