Android 如何动态创建对象(来自本机库的文本字段),并向其添加事件

Android 如何动态创建对象(来自本机库的文本字段),并向其添加事件,android,ios,lua,coronasdk,Android,Ios,Lua,Coronasdk,我已经使用corona动态创建了textField,但是我不能向这些对象添加事件,因为我需要将textField的信息存储在一个表中 我以前在c#中只使用一个事件来实现这一点,我要求输入文本框的焦点,但在这种情况下,我不知道该怎么做。textField的属性焦点不存在(您可以设置焦点,但不能询问状态) 另一方面,我尝试用函数创建一个表,并将这些函数传递给textField的addEventListener,但它不起作用 我将非常感谢任何解决这个问题的建议,谢谢 local widget=requ

我已经使用corona动态创建了textField,但是我不能向这些对象添加事件,因为我需要将textField的信息存储在一个表中

我以前在c#中只使用一个事件来实现这一点,我要求输入文本框的焦点,但在这种情况下,我不知道该怎么做。textField的属性焦点不存在(您可以设置焦点,但不能询问状态)

另一方面,我尝试用函数创建一个表,并将这些函数传递给textField的
addEventListener
,但它不起作用

我将非常感谢任何解决这个问题的建议,谢谢

local widget=require("widget")
local native=require("native")
local listTextFields={}

local positionY=display.contentCenterY

--Handle for any textField

local function textFieldHandle( event )

if ( event.phase == "began" ) then


elseif ( event.phase == "ended" or event.phase == "submitted" ) then

    --???

elseif ( event.phase == "editing" ) then

    --???
end

end

--this is the button's event
local function buttonEvent_1 (event)

listTextFields[#listTextField+1]=native.newTextField{
x=display.contentCenterX,
y=positionY,
width=100,
height=50
} 
positionY=positionY+70

--This is the main problem


lisTextFields[#listTextFields]:addEventListener("userInput",textFieldHandle)

--But in this case I don't now how to build the handle for the textField,  cause I don't now what textField have the focus.
end


-- Button
local propertiesButton = 
{
left = display.contentCenterX,
top = display.contentCenterY - display.contentHeight/2,
width = 80,
height = 80 ,
label= "Add",
defaultFile = "defaultButton.png",
overFile = "overButton.png",
onPress=buttonEvent_1

}
button1 = widget.newButton(propertiesButton)
textField的属性焦点不存在(您可以设置 专注,但你不能要求国家)

当然可以。 有一种方法可以知道哪个文本字段具有焦点。。 首先,让我添加一个display.newText()进行测试。。所以在你的事件处理程序之前

local test = display.newText( " ", 100, 100, nil, 20 )
现在为每个textField添加一个id属性,因此在创建textField之后,我们添加

listTextFields[#listTextField+1]=native.newTextField{
x=display.contentCenterX,
y=positionY,
width=100,
height=50
} 

listTextFields[#listTextFields].id = #listTextFields
要确定哪个文本字段具有焦点。。我们可以在eventHandler中使用event.phase==“开始”。。我们可以通过event.target访问文本字段。。。现在我将用焦点显示文本字段的id

local function textFieldHandle( event )
if ( event.phase == "began" ) then
test.text = "The Focus on the textField # " .. event.target.id
end
end

这并不能回答这个问题。要评论或要求作者澄清,请在他们的帖子下方留下评论-你可以随时在自己的帖子上发表评论,一旦你有足够的评论,你就可以发表评论。我知道,我希望我可以通过获取更多信息来帮你,然后我可以更新我的答案或删除它,正如你提到的,我没有足够的声誉来评论……我真的很感谢你对穆甘扎的帮助,这对我帮助很大。谢谢