java - Only one onClick listener responds on intial startup android studio -
i'm new android studio. have 3 buttons , i'm working in mapsactivity. first button responds, second, chronologically. i've stored markers in these buttons want them respond independently when click on of them
here .java file
import android.support.v4.app.fragmentactivity; import android.os.bundle; import android.view.view; import android.widget.button; 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.bitmapdescriptorfactory; import com.google.android.gms.maps.model.latlng; import com.google.android.gms.maps.model.markeroptions; public class mapsactivity extends fragmentactivity implements onmapreadycallback { private googlemap mmap; final button button1 = (button) findviewbyid(r.id.buttonmaps); final button button2 = (button)findviewbyid(r.id.buttonmaps2); final button button3 = (button)findviewbyid(r.id.buttonmaps3); @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_maps); button1.setonclicklistener(new view.onclicklistener() { @override public void onclick(view view) { mmap.clear(); if (button1.isshown()) { mmap.addmarker(new markeroptions().position(new latlng(, )).title("").snippet("my location").icon(bitmapdescriptorfactory.fromresource(r.mipmap.ic_launcher))); button2.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { mmap.clear(); if (button2.isshown()) { mmap.addmarker(new markeroptions().position(new latlng()).title("").icon(bitmapdescriptorfactory.fromresource(r.mipmap.ic_launcher_hospital))); mmap.movecamera(cameraupdatefactory.newlatlngzoom(new latlng(), )); button3.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { mmap.clear(); if (button3.isshown()) { mmap.addmarker(new markeroptions().position(new latlng(`enter code here`)).title(" ").icon(bitmapdescriptorfactory.fromresource(r.mipmap.ic_launcher_busstop))); mmap.movecamera(cameraupdatefactory.newlatlngzoom(new latlng(), )); } } }); } } }); } } }); } // obtain supportmapfragment , notified when map ready used. supportmapfragment mapfragment = (supportmapfragment) getsupportfragmentmanager() .findfragmentbyid(r.id.map); mapfragment.getmapasync(this); /** * manipulates map once available. * callback triggered when map ready used. * can add markers or lines, add listeners or move camera. in case, * add marker near sydney, australia. * if google play services not installed on device, user prompted install * inside supportmapfragment. method triggered once user has * installed google play services , returned app. */ @override public void onmapready(googlemap googlemap) { mmap = googlemap; mmap.movecamera(cameraupdatefactory.newlatlngzoom(new latlng ( ),)); } }
here activity_maps.xml
<?xml version="1.0" encoding="utf-8"?> <relativelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".mapsactivity"> <fragment xmlns:android="http://schemas.android.com/apk/res/android" xmlns:map="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/map" android:name="com.google.android.gms.maps.supportmapfragment" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".mapsactivity" tools:layout="@android:layout/simple_spinner_dropdown_item" /> <button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="text1" android:padding="8dp" android:background="#53fed0" android:id="@+id/buttonmaps" android:layout_marginleft="90dp" android:layout_marginstart="90dp" android:layout_alignparenttop="true" android:layout_alignparentleft="true" android:layout_alignparentstart="true" /> <button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="text2" android:id="@+id/buttonmaps2" android:layout_margintop="35dp" android:layout_below="@+id/buttonmaps" android:layout_alignparentleft="true" android:layout_alignparentstart="true" android:clickable="true" /> <button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="bus stops" android:id="@+id/buttonmaps3" android:layout_below="@+id/buttonmaps2" android:layout_alignparentleft="true" android:layout_alignparentstart="true" android:layout_margintop="35dp" android:clickable="true"/> </relativelayout>
please kindly out
you define button 2-3 press when press button 1. need identify separately.
button1.setonclicklistener(new view.onclicklistener() { @override public void onclick(view view) { mmap.clear(); if (button1.isshown()) { mmap.addmarker(new markeroptions().position(new latlng(, )).title("").snippet("my location").icon(bitmapdescriptorfactory.fromresource(r.mipmap.ic_launcher))); } } }); button2.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { mmap.clear(); if (button2.isshown()) { mmap.addmarker(new markeroptions().position(new latlng()).title("").icon(bitmapdescriptorfactory.fromresource(r.mipmap.ic_launcher_hospital))); mmap.movecamera(cameraupdatefactory.newlatlngzoom(new latlng(), )); } } }); button3.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { mmap.clear(); if (button3.isshown()) { mmap.addmarker(new markeroptions().position(new latlng(`enter code here`)).title(" ").icon(bitmapdescriptorfactory.fromresource(r.mipmap.ic_launcher_busstop))); mmap.movecamera(cameraupdatefactory.newlatlngzoom(new latlng(), )); } } });
Comments
Post a Comment