Hmm odd…
-
I’m running Corona Simulator version 14.2511.0
-
I ran it on my device which was Andriod, this is because i’m using windows and the simulator wouldn’t run the textfields in the simulator.
-
This is how I integrated your code into mine.
[lua]
–
– incidentReportingPg1.lua
–
local composer = require( “composer” )
local scene = composer.newScene()
local widget = require( “widget” )
local myData = require( “myData” )
local function btnPrevious( event )
composer.gotoScene( “incidentReportingPg1”, { effect=“slideRight”, time=800} )
end
function scene:create( event )
local sceneGroup = self.view
local function textListener( event )
local target = event.target
local maxLen = target.maxLen
local text = event.text
if ( event.phase == “began” ) then
print( text )
else
if( string.len( text ) > maxLen ) then
target.text = string.sub( text, 1, maxLen )
end
end
end
–bg
local bg = display.newRect( 0, 0, display.contentWidth, display.contentHeight )
bg.anchorX = 0
bg.anchorY = 0
bg:setFillColor( 0.9, 0.9, 0.9 ) – white
sceneGroup:insert( bg )
–titleHeader
local titleHeader = display.newImage( “titleHeader.png” )
titleHeader:translate( 160, -22 )
–title
local title = display.newText( “Incident Reporting”, 0, 0, native.systemFont, 32 )
title:setFillColor( 0 ) – black
title.x = display.contentWidth * 0.5
title.y = -25
–textPage
local textPage = display.newText(“Page 2”,
280,130, display.contentWidth -25 , display.contentHeight * 0.5, native.systemFont, 15 )
textPage:setFillColor( 0, 0, 0 )
–textSectionA
local textSectionA = display.newText(“Section A: About the Incident”,
172, 155, display.contentWidth, display.contentHeight * 0.5, native.systemFont, 20 )
textSectionA:setFillColor( 0, 0, 0 )
sceneGroup:insert( textSectionA )
–textDate
local textDate = display.newText(“Incident Date: (DD/MM/YY)”,
175, 190, display.contentWidth, display.contentHeight * 0.5, native.systemFont, 13 )
textDate:setFillColor( 0, 0, 0 )
sceneGroup:insert( textDate )
–textBoxDay
local textBoxDay = native.newTextField( 54, 110, 75, 40 )
textBoxDay.size = 20
textBoxDay:addEventListener( “userInput”, textListener )
textBoxDay.inputType = “number”
sceneGroup:insert( textBoxDay )
–forwardSlash
local forwardSlash = display.newImage( “forwardSlash.png” )
forwardSlash:translate( 105, 110 )
sceneGroup:insert( forwardSlash )
–textBoxMonth
local textBoxMonth = native.newTextField( 156, 110, 75, 40 )
textBoxMonth.size = 20
textBoxMonth:addEventListener( “userInput”, textListener )
textBoxMonth.inputType = “number”
sceneGroup:insert( textBoxMonth )
–forwardSlash
local forwardSlash = display.newImage( “forwardSlash.png” )
forwardSlash:translate( 207, 110 )
sceneGroup:insert( forwardSlash )
–textBoxYear
local textBoxYear = native.newTextField( 258, 110, 75, 40 )
textBoxYear.size = 20
textBoxYear:addEventListener( “userInput”, textListener )
textBoxYear.inputType = “number”
sceneGroup:insert( textBoxYear )
–textTime
local textTime = display.newText(“Incident Time: (HH:MM)”,
175, 270, display.contentWidth, display.contentHeight * 0.5, native.systemFont, 13 )
textTime:setFillColor( 0, 0, 0 )
sceneGroup:insert( textTime )
–textBoxHour
local textBoxHour = native.newTextField( 54, 190, 75, 40 )
textBoxHour.size = 20
textBoxHour:addEventListener( “userInput”, textListener )
textBoxHour.inputType = “number”
sceneGroup:insert( textBoxHour )
–semiColon
local semiColon = display.newImage( “semiColon.png” )
semiColon:translate( 105, 190 )
sceneGroup:insert( semiColon )
–textBoxMinute
local textBoxMinute = native.newTextField( 156, 190, 75, 40 )
textBoxMinute.size = 20
textBoxMinute:addEventListener( “userInput”, textListener )
textBoxMinute.inputType = “number”
sceneGroup:insert( textBoxMinute )
–Divider
local divider = display.newImage( “titleHeader.png” )
divider:translate( 160, 240 )
sceneGroup:insert( divider )
–textWasThis
local textWasThis = display.newText(“Was this an incident that caused harm?”,
212, 422, display.contentWidth, display.contentHeight * 0.5, native.systemFont, 13 )
textWasThis:setFillColor( 0, 0, 0 )
sceneGroup:insert( textWasThis )
–textEgPer
local textEgPer = display.newText(“eg personal harm or damage to property”,
212, 437, display.contentWidth, display.contentHeight * 0.5, native.systemFont, 11 )
textEgPer:setFillColor( 0, 0, 0 )
sceneGroup:insert( textEgPer )
–textWasThisA
local textWasThisA = display.newText(“Was this a Near Miss (No Harm)?”,
212, 480, display.contentWidth, display.contentHeight * 0.5, native.systemFont, 13 )
textWasThisA:setFillColor( 0, 0, 0 )
sceneGroup:insert( textWasThisA )
– Image sheet options and declaration
local options = {
width = 26,
height = 26,
numFrames = 2,
sheetContentWidth = 26,
sheetContentHeight = 52
}
local checkboxSheet = graphics.newImageSheet( “checkboxSheet.png”, options )
– Create a group for the radio button set
local radioGroup = display.newGroup()
– Create two associated radio buttons (inserted into the same display group)
local radioButton1 = widget.newSwitch
{
left = 20,
top = 300,
style = “radio”,
id = “RadioButton1”,
width = 26,
height = 26,
onPress = onSwitchPress,
sheet = checkboxSheet,
frameOff = 1,
frameOn = 2
}
radioGroup:insert( radioButton1 )
sceneGroup:insert( radioButton1 )
local radioButton2 = widget.newSwitch
{
left = 20,
top = 353,
style = “radio”,
id = “RadioButton2”,
width = 26,
height = 26,
onPress = onSwitchPress,
sheet = checkboxSheet,
frameOff = 1,
frameOn = 2
}
radioGroup:insert( radioButton2 )
sceneGroup:insert( radioButton2 )
local function OnbtnNext( event )
if event.phase == “ended” then
local radioOn = false
local textFilled = true
myData.dateDay = textBoxDay.text
myData.dateMonth = textBoxMonth.text
myData.dateYear = textBoxYear.text
myData.timeHour = textBoxHour.text
myData.timeMinute = textBoxMinute.text
if radioButton1.isOn == true then
myData.IRb1 = “Yes”
radioOn = true
end
if radioButton2.isOn == true then
myData.IRb1 = “No (Near Miss)”
radioOn = true
end
if textBoxDay.text == “” or textBoxDay.text == nil or
textBoxMonth.text == “” or textBoxMonth.text == nil or
textBoxYear.text == “” or textBoxYear.text == nil or
textBoxHour.text == “” or textBoxHour.text == nil or
textBoxMinute.text == “” or textBoxMinute.text == nil then
textFilled = false
end
if radioOn and textFilled then
composer.gotoScene( “incidentReportingPg3”, { effect=“slideLeft”, time=800,} )
else
local msg
if radioOn == false and textFilled == false then
msg = “No input in checkbox(s) and textbox(s)”
else
if radioOn then
msg = “No input in textbox(s)”
else
msg = “No input in checkbox(s)”
end
end
local alert = native.showAlert( “Warning”, "ERROR: "…msg, { “OK” }, onComplete)
end
end
return true
end
–btnPrevious
local btnPrevious = widget.newButton
{
width = 150,
height = 40,
defaultFile = “btnPrevious.png”,
onEvent = btnPrevious
}
btnPrevious.x = 84
btnPrevious.y = 445
–btnNext
local btnNext = widget.newButton
{
width = 150,
height = 40,
defaultFile = “btnNext.png”,
onEvent = OnbtnNext
}
btnNext.x = 235
btnNext.y = 445
–sceneGroup
sceneGroup:insert( titleHeader )
sceneGroup:insert( title )
sceneGroup:insert( textPage )
sceneGroup:insert( btnNext )
sceneGroup:insert( btnPrevious )
end
function scene:show( event )
local sceneGroup = self.view
end
function scene:hide( event )
local sceneGroup = self.view
end
function scene:destroy( event )
local sceneGroup = self.view
end
– Listener setup
scene:addEventListener( “create”, scene )
scene:addEventListener( “show”, scene )
scene:addEventListener( “hide”, scene )
scene:addEventListener( “destroy”, scene )
return scene
[/lua]
Thanks again,
Matt.