私のマップ上でlongclickイベントのlat-langデータをフェッチしています。私は私のダイアログ・フラグメントののEditTextにデータを渡すときに問題があり、そのはnullを取得し、ここでmapActivityのダイアログフラグメントにデータを設定する方法
は長いクリックイベントの私のコード
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback,
GoogleMap.OnMapClickListener, GoogleMap.OnMapLongClickListener, View.OnClickListener {
@Override
public void onMapLongClick(LatLng point) {
if(mMap != null) {
mMap.addMarker(new MarkerOptions().position(point).title(point.toString()));
double latitudeNew = point.latitude;
double longitude = point.longitude;
mLatLongArray.add(new double[]{latitudeNew, longitude});
isMarkerClicked = false;
lat = String.valueOf(latitudeNew);
logt = String.valueOf(longitude);
Toast.makeText(getApplicationContext(),lat,Toast.LENGTH_SHORT).show();
}
}
}
とイムのようにクリックしてください、私のボタンにonbackpress使用して使用して戻ってありますこの。ここ
AddGeofenceFragment.ViewHolder fragment = new AddGeofenceFragment.ViewHolder();
@Override
public void onClick(View v) {
if (v.getId() == R.id.btnBackToFragment) {
String TAG = "com.rockstar.googlemap.AddGeofenceFragment";
onBackPressed();
// getSupportFragmentManager().beginTransaction().replace(R.id.dialogFrgment, new AddGeofenceFragment()).addToBackStack(TAG).commit();
fragment.latitudeEditText.setText(lat);
fragment.longitudeEditText.setText(logt);
}
}
最初私は
、FAB-ボタンクリック、 とGETの緯度とlogtitudeデータのためのオープン地図上の私のダイアログ・フラグメントを開いて、私のワークフローです私の "goBackTOFragment"ボタンをクリックすると私のアプリが残念なことに停止します。 私はそれが起こったことを理解していません。でも、私はトーストを使ってチェックしたlongclickイベントのデータを取得します。しかし、フラグメントに渡されません。それは私が私の前のダイアログ・フラグメントののEditTextに緯度とLOGT両方の文字列データを設定する場合は、この行にnullポインタ例外
fragment.latitudeEditText.setText(lat);
fragment.longitudeEditText.setText(logt);
に言って、私はそれを行うのですかどのようにフラグメントにデータを渡す方法を知りません。私を助けてください。私は本当にそれを感謝します。
は、地図画面新しいアクティビティされた位置を取得していますか? – Blackkara
はい、そのランチャーのアクティビティはありません。ダイアログのフラグメントのマップボタンイメージをクリックすると開きます。 –
フラグメント#setArguments()を試すことができます。 – twlkyao