Android の Delphi Firemonkey TStringGrid に非常に奇妙な問題があります。TStringGrid のイベントは、Windows と Android プラットフォームで異なる方法でトリガーされるようです。例: Windows firemonkey アプリケーションでは、いくつかの列を持つ文字列グリッドがあります。TStringGrid は読み取り専用に設定されています。OnClick イベント 次のコードがあります。
TStringGrid(Sender).Cells[TStringGrid(Sender).ColumnIndex,TStringGrid(Sender).Selected] := 'result';
Android アプリケーションには、まったく同じコードの OnClick イベントがあります。
TStringGrid(Sender).Cells[TStringGrid(Sender).ColumnIndex, TStringGrid(Sender).Selected] := 'result';
Windows アプリケーションを実行して文字列グリッド セルをクリックすると、それが選択され、「結果」がセルに書き込まれます。
クリック前のウィンドウ
クリック後のウィンドウ
Androidアプリケーションを実行してクリック(タップ)すると、以前に選択したセルに「結果」が書き込まれ、その後クリックしたセルが選択されます。
クリック前のアンドロイド
クリック後のアンドロイド
これが Firemonkey のバグなのか、予想される動作なのかはわかりません。これを克服する方法はありますか?