Why can't I merge these two blocks?
Because the purple block is expecting a list Element, not a text.
You should start by understanding what a list item is. When detailText and an image were added to the ListView, it was necessary to come up with some kind of data model that would represent this data for one list item, namely mainText, detailText, and Image. The CreateElement block is used to create such a model. You add mainText, detailText, and an image to it, and it creates a dictionary that looks like this: {Text1:mainText, Text2:detailText, Image:imageName}. Then we add the elements created in this way to the list, and only then we can load the list of such elements into the ListView using the Elements block. On the other hand, blocks such as GetMainText, GetDetailText, and GetImageName are used to retrieve these values from the element, i.e. from the dictionary created using the Elements block. The listElement input only accepts a dictionary (a single list element).
This should work:
I got "error 4601". Because only the parts after the 4th letter of the maintext are recorded in TinyDB. When importing into lists, I do not import the same as in TinyDB. I make additions and then create a different list for the detailtext.
I don't know the details of your application, it was just an example. You have to adapt it to your needs. You have an overcomplicated data structure that makes it difficult to access every data normally. Standardize tags and names, then everything will be easier.