小编Ale*_*ion的帖子

在Java中实现等价

正如您可能从我的代码中看到的那样,我对此很新.我正在尝试编写一个简单的程序来检索一个人的朋友.这是我的代码:

public class Person {
    private String name;
    private String friends;

    public Person(String aName) {
        name = aName;
        friends = "";
    }

    public String getFriends() {
        return friends;
    }

    public void addFriend(Person friend) {
        friends = friends + " " + friend.name; 
    }

    public void unfriend(Person nonFriend) {
        friends = friends.replace(" " + nonFriend.name, "");
    }

    public static void main(String[] args) {
        Person dana = new Person("Dana");
        Person gina = new Person("Gina");
        Person john = new Person("John");

        dana.addFriend(gina);
        dana.addFriend(john);
        john.addFriend(gina); …
Run Code Online (Sandbox Code Playgroud)

java equivalence

2
推荐指数
1
解决办法
500
查看次数

配置更改时如何在地图片段上保留标记?

我的 Main Activity 中有一个地图片段,在 onMapReady 上我添加了 300 个标记。标记分为5个类别,每个类别保存在一个List中category1(2,3,4,5) = new ArrayList。我有一个按钮,可以根据警报对话框中的用户选项将标记设置为可见或不可见,从而按类别过滤标记。

for (Marker marker : category1) {
                marker.setVisible(true);.....
Run Code Online (Sandbox Code Playgroud)

一切都按其应有的方式正常工作,直到屏幕配置发生变化。我发现保持可见标记旋转的一种解决方案是在我的 onCreate 中添加

if (savedInstanceState == null) {
    mapFragment.setRetainInstance(true);}
Run Code Online (Sandbox Code Playgroud)

这适用于保留当前选择,但当我尝试再次过滤时没有任何变化。地图片段的状态保留为我在配置更改之前过滤的标记。

另一方面,如果我不使用 mapFragment.setRetainInstance(true); 每次配置更改时,所有标记都会再次添加到片段上,过滤再次起作用,但我每次都必须重新过滤。

如何添加所有标记一次,然后根据类别过滤器隐藏/显示它们,在屏幕旋转之间保留可见标记并从上次状态开始再次过滤它们?

更新

这是我所拥有的(我尝试仅添加相关代码)

    Boolean mSetCameraPosition;
    Boolean initialMarkers;
    Boolean checkBox1Checked, checkBox2Checked, checkBox3Checked,     checkBox4Checked, checkBox5Checked;
    private int mapTypeSelected;
    CheckBox cbAllDay, cbBefore12, cbBetween1216, cbBetween1620, ccbAfter20;
    AlertDialog dialog;
    List<Marker> firstCategoryList = new ArrayList<>();
    List<Marker> secondCategoryList = new ArrayList<>();
    List<Marker> thirdCategoryList = new ArrayList<>();
    List<Marker> fourthCategoryList = new ArrayList<>();
    List<Marker> fifthCategoryList = new ArrayList<>(); …
Run Code Online (Sandbox Code Playgroud)

android google-maps mapfragment

1
推荐指数
1
解决办法
2096
查看次数

标签 统计

android ×1

equivalence ×1

google-maps ×1

java ×1

mapfragment ×1