gpt4 book ai didi

java - 如何从Android中的另一个 Activity 调用MapActivity的方法?

转载 作者:行者123 更新时间:2023-12-01 06:06:12 25 4
gpt4 key购买 nike

我正在开发一个基于 Google map API 的 Android 应用程序。我有一个 refresh() 方法来刷新我的 MapActivity。我想在从另一个 Activity 管理 POI 后调用 refresh() 方法来刷新 map 。

MapActivity.refresh();

这是我的 refresh() 方法:

public void refresh() {
Intent intent = getIntent();
finish();
startActivity(intent);
}

我知道如果它是静态的,我可以从其他 Activity 中调用此方法。因此,我做了以下更改:

public static void refresh() {
Intent intent = getIntent();
finish();
startActivity(intent);
}

之后,我收到此消息:

Non-static method 'getIntent()' cannot be referenced from a static context

还有其他方法刷新 map 吗?

最佳答案

在阅读了有用的评论后,我创建了这个 mapReset() 方法:

public void mapReset() {
map.clear();
addAllMarkers();
//...
}

我将此方法添加到 ChildEventListener 中,并且在管理 POI 后 map 将被重置。这解决了我的问题。

poiFirebase.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
//...
mapReset();
}

@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
//...
mapReset();
}

@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
//...
mapReset();
}

@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
//...
mapReset();
}

@Override
public void onCancelled(FirebaseError firebaseError) {
//...
}
});

关于java - 如何从Android中的另一个 Activity 调用MapActivity的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44131152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com