Освобождение кнопок в списке в OnclickAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Освобождение кнопок в списке в Onclick

Сообщение Anonymous »

То, чего я пытаюсь достичь в упрощенной форме, состоит в том, чтобы создать список динамически созданных кнопок. Нажав на одну из кнопок, она должна быть удалена из списка, и его объект должен быть освобожден. Мой подход:


[*] Создать tlist
[*] Создать пару tbutton объектов и добавить их в T -код

Есть ли лучший /правильный способ сделать это, или другой подход, который я должен следить за тем, чтобы он работал так, как я хочу? < /P>

Вот какой -то пример кода. Это для формы с одной кнопкой времени дизайна (Button1) на нем. Нажав эту кнопку многократно динамически создает новые кнопки и добавляет их в список. < /P>

unit Unit2;

interface

uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
FMX.Controls.Presentation, FMX.StdCtrls, System.Generics.Collections;

type
TForm2 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
ButtonList : TList;
procedure ButtonClick(Sender: TObject);
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;

implementation

{$R *.fmx}

procedure TForm2.ButtonClick(Sender: TObject);
var
pos : Integer;
begin
pos := ButtonList.IndexOf(TButton(Sender));
TButton(Sender).Parent := nil;
ButtonList.Delete(pos);
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
ButtonList := TList.Create;
end;

procedure TForm2.Button1Click(Sender: TObject);
var
pos : Integer;
begin
pos := ButtonList.Add(TButton.Create(nil));
ButtonList.Items[pos].Parent := Form2;
ButtonList.Items[pos].Position.Y := 50 * ButtonList.Count;
ButtonList.Items[pos].OnClick := ButtonClick;
end;

end.


Подробнее здесь: https://stackoverflow.com/questions/398 ... in-onclick
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»