これは、Google Maps android api v2 にマーカーを追加するための私のコードです。私の問題は、EditText スニペットから文字列値を取得できないことです。コード .getText().toString() は文字列値を取得できず、null のみを送信します。私を助けてください。
googlemap.setOnMapLongClickListener(new GoogleMap.OnMapLongClickListener() {
@Override
public void onMapLongClick(final LatLng latlng) {
LayoutInflater li = LayoutInflater.from(context);
final View v = li.inflate(R.layout.alertlayout, null);
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setView(v);
builder.setCancelable(false);
builder.setPositiveButton("Create", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
EditText title = (EditText) v.findViewById(R.id.ettitle);
EditText snippet = (EditText) v.findViewById(R.id.etsnippet);
String s = title.getText().toString();
String ss = snippet.getText().toString();
googlemap.addMarker(new MarkerOptions()
.title(s)
.snippet(ss)
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE))
.position(latlng)
);
}
});
//Create Negative button
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();
}
});
}