Wrapping a listview to the size of window in Kivy

I'm having real problems wrapping text in Kivy. I'm looking for the results of the function "SearchingModal", to be displayed as a list: but where the results can take up more than one line. Previously i'd looked at chopping up the individual text strings with new line characters, but this seems very unelegant!

#!

#---------------------------------------------------------------------------------------#
#                                           #
# Question Search Using Acquired Database                   #
#                                           #
#---------------------------------------------------------------------------------------#
# Include sql database support; kivy modules.

import sqlite3

from kivy.app import App
from kivy.uix.anchorlayout import AnchorLayout
from kivy.properties import ObjectProperty
from kivy.properties import ListProperty
from kivy.properties import StringProperty
from kivy.uix.scrollview import ScrollView
from kivy.uix.modalview import ModalView
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.listview import ListView
from kivy.uix.gridlayout import GridLayout


#---------------------------------------------------------------------------------------#
# Select Database
#---------------------------------------------------------------------------------------#

con = sqlite3.connect('test.db')
con.text_factory = str

#---------------------------------------------------------------------------------------#

class OrkivRoot(BoxLayout):
    pass

#---------------------------------------------------------------------------------------#

class QuestionDetailsForm(AnchorLayout):

    question_box = ObjectProperty()
    answer_box = ObjectProperty()

    def submitquestion(self):

        search = self.question_box.text
        app = Orkiv.get_running_app()
        data = app.run_searchquestion(search) #data returns here

#       x=0                 #
#       for x in range(len(data)):      # This was to print results to terminal
#           print data[x]           #
#           print "-" * 40          #
#           x+=1                #


        modal = SearchingModal(data) # comment these 2 lines to remove popup on submit
        modal.open() #


    def submitanswer(self):

        search = self.answer_box.text

        app = Orkiv.get_running_app()
        data = app.run_searchanswer(search) #data returns here

#  
        modal = SearchingModal(data) # comment these 2 lines to remove popup on submit
        modal.open() #

#------------------------------------------------------------#
#REDESIGN THE SEARCHING MODAL CLASS, USING THE KV LAYOUT FILE#
##############################################################

class SearchingModal(BoxLayout, ModalView, ListView):
    def __init__ (self, data):

        counter=0
        super(SearchingModal, self).__init__(item_strings=[str(data[counter]) for counter in range(len(data))])
        self.dismiss()
        button = Button(text="Back To Search")
        button.size_hint = (0.5, None)
        button.height = "40dp"
        button.bind(on_press=self.dismiss)
        self.add_widget(button)

class Orkiv(App):

    def run_searchquestion(self, search):
                print 'searching for', search
                cur = con.cursor()

        cur.execute('SELECT title, content1 FROM content WHERE title LIKE ?', ('%'+search+'%',))
                data = cur.fetchall()
#       
        return data #Returns the accumulated data to the variable calling the function

    def run_searchanswer(self, search):
        print 'searching for', search
        cur = con.cursor()
        cur.execute('SELECT title, content1 FROM content JOIN item on content._id=ref_id WHERE word=?', (search,))
        data = cur.fetchall()
 #                     
        return data #Returns the accumulated data to the variable calling the function

Orkiv().run()

I'll also include the .kv file, as no amount of messing around with that seems to be able to get my results to wrap correctly either!

OrkivRoot:

<OrkivRoot>:

    QuestionDetailsForm:


<QuestionDetailsForm>:
    anchor_y: "center"
    question_box: question_input
    answer_box: answer_input
    BoxLayout:  
        orientation: "vertical"
        height: "350dp"
        size_hint_y: None
        GridLayout:
            cols: 2
            row_default_height: "40dp"
            row_force_default: True
            spacing: "50dp"
            padding: "40dp"
            Label:
                text: "Question"
            TextInput:
                id: question_input
            Label:
                text: "Answer"
            TextInput:
                id: answer_input
            Label:
                text: " "   
            Button:
                height: "30dp"
                size_hint_y: None
                text: "Submit Question"
                on_press: root.submitquestion()
            Label:
                text: " "
            Button: 
                size_hint_y: None
                height: "30dp"
                text: "Submit Answer"
                on_press: root.submitanswer()



<SearchingModal>:
    orientation: 'vertical'
    BoxLayout:
        size_hint_y: 0.005
        ListView:
            ListItemLabel:
                font_size: 70
                text_size: (root.width, None)

It's very frustrating. I'm sure some of the code in the layout file is not being executed correctly. For example, it seems impossible to change the font size. I do not actually want the font size changed, but figured that finding a way to do that would lead me to being able to wrap text using "text size: ".

This is my first Kivy program, and my first step into object orientated programming. Any advice would be appreciated, and whilst ill do my best to decipher and make sense, starting very simply would be a great help!

I thought that once i'd got the information out of the database, and had opened up the next screen, everything else would be extremely simple! I really feel it's just changing a few things very slightly in the .kv file. I just don't know where to start!!!

Thanks in advance!


ANSWERS:


After messing around quite a lot with the ".kv" file, and the main python program, I came up with a solution, taking a slightly different approach.

I dispensed with the listview, and stuck with a simple modal pop-up consisting of a label. I then was able to follow much of the advice in this youtube video, to make the label wrap and scroll effectively.



 MORE:


 ? Kivy TextInput background problems
 ? How to change Axes label color in Kivy garden.graph?
 ? How to use .svg graphics in a Kivy TextInput?
 ? Kivy TextInput cursor control problems
 ? Color does not affect Kivy Bubble background
 ? How to convert a set to a list in python?
 ? How to convert a set to a list in python?
 ? How to convert a set to a list in python?
 ? Python set to list
 ? How to append only the unique item on the list?