好日子,伙计们, 我的MainActivity java中有一个方法可以标记googlemap片段中的位置,但是当我从非活动类调用该方法时,它会给我一个错误
java.lang.RuntimeException:无法在线程内创建处理程序 没有调用Looper.prepare()
我可以制作标记的mainActivity方法是
public void addMarkers(Double lat, Double lng, String name){
MarkerOptions options = new MarkerOptions()
.title(name)
.position(new LatLng(lat, lng));
mGoogleMap.addMarker(options);
}
我调用该方法的非Activity类是
private int parseDataTag(){
try {
JSONArray ja = new JSONArray(jsonData);
JSONObject jo = null;
AdvanceSearch advanceSearch = new AdvanceSearch(); //MainActivity class
for(int i=0;i<ja.length();i++){
jo=ja.getJSONObject(i);
int id = jo.getInt("id");
String name = jo.getString("name");
String lat = jo.getString("latitude");
String lng = jo.getString("longtitude");
advanceSearch.addMarkers(Double.parseDouble(lat), Double.parseDouble(lng), name);
}
return 1;
} catch (JSONException e) {
e.printStackTrace();
}
return 0;
}
答案 0 :(得分:1)
答案 1 :(得分:-1)
您应该使用您拥有的上下文在您的活动中调用您的方法。
((MainActivity) context).yourMethod();