Так что я знаю, что мой вопрос немного странный, но я объясню, что я имею в виду: у меня есть customInfoWindow и около 20 маркеров. Я успешно добавил слушателя onclick с 0 ошибками. Дело в том, что мне нравится каким-то образом, чтобы этот слушатель был для одного маркера custominfwindow, а для другого маркера custominfowindow - другое событие. Например, если вы нажмете на custominfowindow на сиднее, на нем отобразится тост, а если вы нажмете на custominfowindow в Индии, откроется макет. Что я думаю, я могу сделать, это сделать список onclick локальным, чтобы код не применялся нигде из Сиднея , Я не знаю, как добавить код для него. Может кто-нибудь, пожалуйста, помогите мне с этим вопросом. Я новичок в этом программировании, поэтому я не очень хорошо понимаю четверть вещей, поэтому, пожалуйста, помогите мне с этим. На всякий случай код для onclick listner в MapsActivity:
import androidx.fragment.app.FragmentActivity;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Handler;
import android.text.method.LinkMovementMethod;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.BitmapDescriptor;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.CameraPosition;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
import java.util.Map;
//Class starts;
public class MapsActivity extends FragmentActivity implements GoogleMap.OnInfoWindowClickListener,OnMapReadyCallback {
private GoogleMap mMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
// Obtain the SupportMapFragment and get notified when the map is ready to be used.
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
mMap.setOnInfoWindowClickListener(this);
@Override
public void onInfoWindowClick(Marker marker) {
openIndia();
}
public void openIndia(){
Intent intent = new Intent(this,India.class);
startActivity(intent);
}
}
Кроме того, мой код намного длиннее, но чтобы спасти человека, который отвечает, и мое время, я дал только код, который должен быть изменен или полезен. Кроме этого, я не думаю, что больше нужен код. На всякий случай, если это необходимо, пожалуйста, сообщите мне.