Я пытаюсь вывести информационное окно на маркер на основе элемента, выбранного из списка. Таким образом, в основном, когда был выбран пункт ListView, он будет выполнять createCallOutView():Android ListView Item Selected Event
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View item,
int position, long id) {
float x = Float.parseFloat(_eventlist.get(position).getEventX());
float y = Float.parseFloat(_eventlist.get(position).getEventY());
ENeighbourhoodActivity.callout.hide();
int[] graphicIDs = ENeighbourhoodActivity.graphicsLayer.getGraphicIDs(x, y, 25);
if (graphicIDs != null && graphicIDs.length > 0) {
Graphic gr = ENeighbourhoodActivity.graphicsLayer.getGraphic(graphicIDs[0]);
Point location = (Point) gr.getGeometry();
ENeighbourhoodActivity.callout.setOffset(0, -10);
ENeighbourhoodActivity.callout.show(location, EventInfoWindow.createCalloutView(
gr, context, userID));
}
getActivity().finish();
}
});
И в моем createCallOutView(), это только в основном отображение отображения сведений о событиях. Однако с этими кодами, когда был выбран элемент listview, экран просто зависает, и через некоторое время он просто показывает, что приложение не отвечает и закрывает действие.
Любые идеи? Сообщения об ошибках отсутствуют. Заранее спасибо.
Но я получил ошибку синтаксиса, неуместны конструкцию на новую нить там. А как насчет runOnUiThread? –
Отредактировано ответ попробовать – John
Но он не отображает информационное окно, которое должно быть там, когда я вызываю createCallOutView(). Он просто закрывает активность :( –