Delphi XE5 Android : how to make each listview item have its own template?

后端 未结 2 1552
暖寄归人
暖寄归人 2020-12-11 11:34

Is there a way to make the TListView of Delphi to behave like actual ListView in android? for example each item of the list has its own \"View\" and in that view can be mult

2条回答
  •  眼角桃花
    2020-12-11 11:50

    Yes there is a way. I make it by using these two methods. The CreateItem method is where you put the components you want in the listitem.

    procedure TForm1.CreateItem;
    var
    edit1:TClearingEdit;
    editCalendar1:TCustomCalendarEdit;
    begin
      edit1:= TClearingEdit.Create(Self);
      edit1.Parent := fItem;
      edit1.Align := TAlignLayout.alClient;
      edit1.Text := 'Blabla';
      edit1.OnChange := actEdit1OnChange;
    
      editCalendar1 := TCalendarEdit.Create(Self);
      editCalendar1.Parent := fItem;
      editCalendar1.Align := TAlignLayout.alRight;
      editCalendar1.Width := 90;
      editCalendar1.Date := Date;
      editCalendar1.OnChange := actEditCalOnChange;
    end;
    
    procedure TForm1.CreateListItem;
    begin
      fItem:= TListBoxItem.Create(your_listbox);
      fItem.Parent := your_listbox; //Here you put the ListBox as a parent
      fItem.Align := TAlignLayout.alTop;
      fItem.Text := '';
      fItem.Height := 50;
    
      CreateItem;
    end;
    

    To add a custom item to the list just call the CreateListItem method! Next to this I use the OnChange method to receive data here is an example:

    procedure TForm1.actEditCalOnChange(Sender: TObject);
    begin
      label1.text := TCalendarEdit(Sender).Text;
    end;
    
    procedure TForm1.actEdit1OnChange(Sender: TObject);
    begin
      label2.text := TClearingEdit(Sender).Text;
    end;
    

提交回复
热议问题