我创建了一个 VerticalFieldmanager optFieldManager,在其中添加了一些 CustomButtons 然后我想使用触摸事件方法调用按钮的功能我使用 TouchEvent() 方法尝试了这个为此我确实获取 optFieldManager 的索引,它将索引值为 0确认该字段存在但是然后我再次要求管理器内的字段返回-1值,这意味着没有字段添加到管理器...这不是真的我调试了代码并发现点击的帖子正确返回
int index1=optionVertFldMgr.getFieldAtLocation(message.getX(1), message.getY(1));
但是 index1 值是 -1 这是错误的
有什么问题
我在下面添加了代码片段
protected boolean touchEvent(TouchEvent message) {
switch(message.getEvent())
{
case TouchEvent.CLICK:
{
int index=getFieldAtLocation(message.getX(1), message.getY(1));
//int index1=optionVertFldMgr.getFieldAtLocation(message.getX(1), message.getY(1));
if(index!=-1)
{
Field field=getField(index);
if(field.equals(optionVertFldMgr))
{
int index1=optionVertFldMgr.getFieldAtLocation(message.getX(1), message.getY(1));
System.out.println("HELOOOOOOO"+((VerticalFieldManager) field).getFieldAtLocation(message.getX(1), message.getY(1)));
//int index1=optionVertFldMgr.getFieldWithFocusIndex();
if(index1>-1)
{
Field fld=optionVertFldMgr.getField(index1);
if(fld.equals(m_agendaBtn))
{
fld.setFocus();
return true;
}else if(fld.equals(m_eventFeedBackBtn))
{
fld.setFocus();
UiApplication.getUiApplication().pushScreen(new EventFeedbackScreen());
return true;
}
}
}
}
}
}
return false;
}