Codenameone 自动完成文本字段+;代号为1的谷歌地图
我试图将一个AutoCompleteTextField(用于地址补全)和一个GoogleMap对等组件(使用cn1lib)放在同一个容器中,但它在真实设备上无法正常工作(只有在模拟器中才可以) 使用BoxLayout.y,完成列表仅在iPhone上显示,在Android上不显示 使用BorderLayout.totalLower,中间是Google地图,北部是AutoCompleteTextField,从autocompletion列表中选择地址后,AutoCompleteTextField消失(在iPhone上测试) 你能给我一些提示让这两个部件正常工作吗?我正在使用的cn1lib已更新。多谢各位Codenameone 自动完成文本字段+;代号为1的谷歌地图,codenameone,Codenameone,我试图将一个AutoCompleteTextField(用于地址补全)和一个GoogleMap对等组件(使用cn1lib)放在同一个容器中,但它在真实设备上无法正常工作(只有在模拟器中才可以) 使用BoxLayout.y,完成列表仅在iPhone上显示,在Android上不显示 使用BorderLayout.totalLower,中间是Google地图,北部是AutoCompleteTextField,从autocompletion列表中选择地址后,AutoCompleteTextField消失
Container innerContent = new Container(BorderLayout.totalBelow());
// Start content
AutoCompleteTextField autoCompleteTextField = (AutoCompleteTextField) InputUtilities.getAutoCompleteAddress(true);
autoCompleteTextField.setUIID("BaseStructureForm-InnerBoxMap");
// Google Map
final MapContainer googleMap = new MapContainer() {
@Override
public Dimension calcPreferredSize() {
int width = contentBox.getWidth() - CN.convertToPixels(10, true);
int height = CN.convertToPixels(50, false);
return new Dimension(width, height);
}
};
innerContent.add(BorderLayout.NORTH, autoCompleteTextField);
innerContent.add(BorderLayout.CENTER, googleMap);
// End content
autoCompleteTextField.addListListener(e -> {
String selectedItem = (String) ((com.codename1.ui.List) e.getSource()).getSelectedItem();
String place_id = (String) autoCompleteTextField.getClientProperty("place_id");
//googleMap.setCameraPosition(new Coord(43.0511, 10.8892274));
GoogleMapUtilities.setMapPlace(place_id, (latitudine, longitude) -> {
googleMap.zoom(new Coord(latitudine, longitude), 3);
});
});
我编辑了添加代码的问题。这里可能有回归,你能添加设备截图吗?问题的主要原因是行:
AutoCompleteTextField AutoCompleteTextField=(AutoCompleteTextField)InputUtilities.getautocompletedAddress(true)代码>。我完全忘记了它返回AutoCompleteTextField的自定义实现(因为我几个月前为特定用例编写了该方法,它覆盖了AutoCompleteTextField的一些方法)。我用这个类的“原始”版本解决了很多问题。但是,如果我有其他问题,我会在github上发布一个测试用例。我编辑了添加代码的问题。这里可能有回归,您可以添加设备屏幕截图吗?问题的主要原因是这样一行:AutoCompleteTextField AutoCompleteTextField=(AutoCompleteTextField)InputUtilities.getautocompletedAddress(true)代码>。我完全忘记了它返回AutoCompleteTextField的自定义实现(因为我几个月前为特定用例编写了该方法,它覆盖了AutoCompleteTextField的一些方法)。我用这个类的“原始”版本解决了很多问题。但是,如果我有其他问题,我会在github上发布一个测试用例。