Mir ist gerade aufgefallen, das wenn man auf TListView onTap nur kurz draufdrückt in itemindex noch der letzte Eintrag enthalten ist.
D.h man muss schon etwas länger draufdrücken bis man sieht das optisch die Zeile auch markiert ist.
Ist das so gewollt oder mache ich hier in der Abfrage etwas falsch?
Code:
procedure Tfmain.lvbilderTap(Sender: TObject; const Point: TPointF);
{$IF DEFINED(ANDROID)}
var fName : String;
Intent : JIntent;
URI : Jnet_Uri;
{$ENDIF}
begin
// Android auf TAP reagieren
{$IF DEFINED(ANDROID)}
if lvbilder.Selected <> nil then begin
fname := lvbilder.items[lvbilder.ItemIndex].detail;
URI := TJnet_Uri.JavaClass.parse(StringToJString('file:///' + fName));
ich habe mir auch einmal beides ausgeben lassen (addlog ist eine Funktion von mir )
Code:
addlog(format('<%d><%d>',[lvbilder.Selected.Index,lvbilder.ItemIndex]));
und in beiden steht 0 obwohl ich die zweite Zeile angeklickt habe.
Ich öffne danach einen Bildbetrachter und wenn ich zurück zu meiner APP wechsle, ist die korrekte Zeile markiert.
D.h es gibt einen Delay zwischen onTap und dem echten markieren der Zeile.