我收到的错误是“从内部类访问变量'点',需要声明为final”。错误发生在最后一个“点”on.position
上googleMap.setOnMapLongClickListener(new GoogleMap.OnMapLongClickListener() {
@Override
public void onMapLongClick(LatLng point) {
googleMap.setOnMapLongClickListener(new GoogleMap.OnMapLongClickListener() {
@Override
public void onMapLongClick(LatLng point) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("Title");
// Set up the input
final EditText input = new EditText(MainActivity.this);
builder.setView(input);
// Set up the buttons
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {@Override
public void onClick(DialogInterface dialog, int which) {
String text = input.getText().toString();
googleMap.addMarker(new MarkerOptions()
.position(point)
.title(text));
}
});
}
});
}
});
}
答案 0 :(得分:1)
将点声明为public void onMapLongClick(LatLng p) {
final LatLng point = p;
final
答案 1 :(得分:0)
您需要完全按照其说法执行操作并制作Project
point
final
答案 2 :(得分:0)
由于您未更改点值,因此您可以将其声明为最终值。然后你可以在你的内部类中访问它。
变化:
@Override
public void onMapLongClick(LatLng point) {
为:
@Override
public void onMapLongClick(final LatLng point) {