【问题标题】:Workaround for set rating in Google Maps在 Google 地图中设置评级的解决方法
【发布时间】:2023-03-23 14:32:01
【问题描述】:

我正在尝试在标记的内容窗口内设置评级栏的评级,但每当我尝试从包含片段的类中设置评级时,评级都不会改变。我试过膨胀一个视图(见下面的代码),但这不起作用。还有其他方法可以解决这个问题吗?一个可能的问题是 Parse 的实现,但我似乎做不到

谢谢,

雅各布

这是我的 java:

query.whereContains("review", titleRev);
                query.findInBackground(new FindCallback<ParseObject>() {
                    public void done(List<ParseObject> scoreList, ParseException e) {
                        if (e == null) {

                            for (ParseObject parseObj : scoreList) {
                                int x = 0;

                                String ratingNum = parseObj.get("rating").toString();
                                float ratingNumF = Float.valueOf(ratingNum);
                                myList.add(x, ratingNumF);

                                x++;
                            }

                            float sum = 0;
                            for (int i = 0; i < myList.size(); i++) {
                                sum += myList.get(i);
                            }


                            if (sum > 0) {
                                final LayoutInflater factory = getLayoutInflater();

                                final View textEntryView = factory.inflate(R.layout.windowlayout, null);

                                RatingBar ra = (RatingBar) textEntryView.findViewById(R.id.windowRatingBar);
                                ra.setRating(1f);




                            } else {

                                Toast.makeText(FindOpp.this, "Sorry, this organization has no reviews", Toast.LENGTH_LONG).show();


                            }

【问题讨论】:

    标签: android google-maps parse-platform google-maps-markers marker


    【解决方案1】:

    我可以看到在后台线程中运行的解析查询,但看不到将结果推送回 UI 线程的回调。

    实现这一点的正确方法是正确设置将膨胀自定义布局的数据。为此,我建议将默认值替换为窗口,用您的自定义渲染覆盖 getInfoWindow(Marker) 并将评级数据放在该 customInfoWindow 中。如果您可以共享该部分代码或对现有代码进行更改,将会更有帮助。但前者是实现此功能的更好选择。

    【讨论】:

    • 我理解您在创建 customInfoWindow 时所说的内容,但您能否详细说明我如何做到这一点(代码方面)?
    【解决方案2】:

    所以我实际上最终解决了这个问题,方法是获取对 Google 地图上所有标记的引用,然后将评级添加到与 marker.getTitle() 相关的字符串集中,然后我在获取信息窗口。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-22
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 2021-03-27
      • 1970-01-01
      • 1970-01-01
      • 2015-10-13
      相关资源
      最近更新 更多