2017-11-03 12 views
0

この「Locate」ボタンを実行すると、MainActivity.javaのbtnShowLoc関数から入力値を取得し、同じ値を表示するようにします。ボタンをクリックしたときにMainActivity.javaからMainActivity.javaを呼び出す方法

activity_main.xml

 <Button 
     android:onClick="btnShowLoc" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="Locate" /> 

    <fragment 
     android:id="@+id/map" 
     xmlns:tools="http://schemas.android.com/tools" 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     class="com.google.android.gms.maps.MapFragment" 
     android:layout_width="350dp" 
     android:layout_height="230dp" 
     tools:context=".MapLocationActivity" 
     tools:layout="@layout/activity_main" /> 

MainActivity.java

public void btnShowLoc(View view) { 
     EditText txtLat = (EditText) findViewById(R.id.txtLat); 
     EditText txtLong = (EditText) findViewById(R.id.txtLong); 

//Need instruction about how to call MapActivity.java 
    } 


MapActivity.java 

public class MapActivity extends FragmentActivity implements OnMapReadyCallback { 
    private GoogleMap mMap; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     MapFragment map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)); 
     map.getMapAsync(this); 
    } 


    @Override 
    public void onMapReady(GoogleMap googleMap) { 
     mMap = googleMap; 
     LatLng Device = new LatLng(28.7041, 77.1025); 
     mMap.addMarker(new MarkerOptions().position(Device).title("Device Location")); 
     mMap.moveCamera(CameraUpdateFactory.newLatLng(Device)); 
     mMap.setMapType(GoogleMap.MAP_TYPE_HYBRID); 
     mMap.setTrafficEnabled(true); 
     mMap.setIndoorEnabled(true); 
     mMap.setBuildingsEnabled(true); 
     mMap.getUiSettings().setZoomControlsEnabled(true); 
    } 

答えて

1

使用Intentが起動しますMapActivity

Intentは、実行される操作の抽象的な記述です。 startActivityを使用してActivityを起動し、関心のあるBroadcastReceiverコンポーネントに送るためのbroadcastIntent、およびstartService(Intent)またはbindService(Intent、ServiceConnection、int)を使用して、バックグラウンドサービスと通信することができます。

コード

Intent i = new Intent(HotelDetailsClass.this, MapActivity.class); 
i.putExtra("latitude","28.7041") 
i.putExtra("longitude","77.1025"); 
startActivity(i); 

あなたMapActivity

Double latitude, longitude; 
Intent i = getIntent(); 
latitude = Double.valueOf(i.getStringExtra("latitude")); 
longitude = Double.valueOf(i.getStringExtra("longitude")); 

で広告このコードを以下のようにMapActivityにテントを使用して緯度緯度を送るこのファーストをお試しください今ロードマップに

@Override 
    public void onMapReady(GoogleMap googleMap) { 
     mMap = googleMap; 
     // Add a marker in Location and move the camera 
     LatLng location = new LatLng(latitude, longitude); 
     mMap.addMarker(new MarkerOptions().position(location).title(title)); 
     mMap.moveCamera(CameraUpdateFactory.newLatLng(location)); 
     mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(latitude, longitude), 14.0f)); 


    } 
+0

私のアプリはMapActivity.java –

+0

を呼び出すに墜落なっているあなたは –

+0

ポスト例外ログ –

関連する問題