java - 单击同一按钮时,如何在一项 Activity 中显示不同的内容

标签 java android android-intent android-recyclerview

我使用 for 循环从 JSON 文件创建一些谷歌地图标记。此外,我创建了一个 onInfoWindowClick 方法来显示更多信息,并且我还启动了一个新 Activity 。现在我的问题是如何使 onInfoWinodwClick 使用我的标记的特定内容启动 Activity 。

我已经尝试过这一点,但我只有一个标记,正如您在下面的代码 fragment 中看到的那样:

    @Override
public boolean onMarkerClick(final Marker marker) {

Intent intent = new Intent(MainActivity.this,RecyclerViewActivity.class);
Bundle bundle = new Bundle();
String infoArrayString;

if (marker.equals(myMarker1)) 
{

//Assuming you have JSONArray of information to show on the next screen

infoArrayString = markerJson1.toString();
bundle.putString("info",infoArrayString);

}else if(marker.equals(myMarker2){

//info for marker2

}
intent.putExtras(bundle);
startActivity(intent);
}

在这里,我创建标记只是想象一个 for 循环,该循环仅使用不同的纬度和经度坐标循环该槽:

 LatLng companies = new LatLng(latitude, longitude);
                                Marker marker = mMap.addMarker(new MarkerOptions()
                                        .position(companies)
                                        .title(companyName)
                                        .snippet("Anzahl der Stellen: " + jobCounter + "\n" + ultimateJobTitles)
                                        .icon(BitmapDescriptorFactory.fromResource(R.drawable.maps_icon2)));
                                jobCounter = 0;

                                mMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
                                    @Override
                                    public void onInfoWindowClick(Marker marker) {
                                        Intent intent = new Intent(MapsActivity.this, MarkerInfo.class);
                                        startActivity(intent);
                                    }
                                });

最佳答案

您可以在创建标记时使用Tag保存每个标记相关信息

// set related info as tag
marker1.setTag(markerJson1.toString());

然后,您可以在onMarkerClick方法中获取相关信息,如下

// to retrieve the info from clicked marker
String info = (String) marker.getTag();// Type cast to your object type;

干杯:)

关于java - 单击同一按钮时,如何在一项 Activity 中显示不同的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57407411/

相关文章:

android - 使用 Android 应用程序和网络服务处理 Facebook token 过期

Android,向 TextView 添加不同数量的可点击跨度

c# - 从 .NET 客户端对 Axis2/JAX-WS Web 服务使用多态调用

java - 如何设置 Java 应用程序的自定义框架和任务栏图标?

java - JDK的ClassLoaderHelper没有使用

java - 在 Java 中为 Connect 4 实现 Minimax 算法

java - 替换并增加 Android 应用程序文件名中的数字

java - 不满意链接错误: Native method not found (NOT caused by the common cause for this error)

android 新 Intent 错误

android - 从图库中选择多个图像