Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过单击按钮打印存储在ArrayList中的标记?_Java_Android_Sqlite_Google Maps_Arraylist - Fatal编程技术网

Java 如何通过单击按钮打印存储在ArrayList中的标记?

Java 如何通过单击按钮打印存储在ArrayList中的标记?,java,android,sqlite,google-maps,arraylist,Java,Android,Sqlite,Google Maps,Arraylist,标记由用户放在地图上,并存储在使用SQLite存储的ArrayList中。标记如下所示。 当用户单击View时,数据恢复如下。 当用户单击“更新”按钮时,视图上的所有标记都应绘制在地图上。如何以及应该使用什么代码来绘制ArrayList(LatLongposition)中的值? 如何在地图标记上绘制阵列列表(LatLongposition) private void UpdatData() { btnUpdate.setOnClickListener(new View.OnClick

标记由用户放在地图上,并存储在使用SQLite存储的ArrayList中。标记如下所示。

当用户单击View时,数据恢复如下。

当用户单击“更新”按钮时,视图上的所有标记都应绘制在地图上。如何以及应该使用什么代码来绘制ArrayList(LatLongposition)中的值? 如何在地图标记上绘制阵列列表(LatLongposition)

private void UpdatData() {
    btnUpdate.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //LatLongPosition is a object of the ArrayList
            boolean isUpdate = myDb.updateData(id.getText().toString(), LatLongPosition);
            PolylineOptions polylineOptions = new PolylineOptions().addAll(LatLongPosition);
            Polyline p = GoogleMap.addPolyline(polylineOptions);
            p.setPoints(LatLongPosition);
            /*if (marker1 == null) {
                marker1 = GoogleMap.addMarker(new MarkerOptions()
                                .position(p)
                                .title("Start Position")
                                .snippet(String.valueOf(googleMap.getCameraPosition()))
                                .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE))
                );*/
            if (isUpdate == true)
                Toast.makeText(ActivityMapDisplay.this, "Data Updated", Toast.LENGTH_SHORT).show();
            else
                Toast.makeText(ActivityMapDisplay.this, "Data Not Updated", Toast.LENGTH_SHORT).show();

        }
    });
}

您只需迭代您的
列表

for (LatLng position : LatLongPosition) {
    GoogleMap.addMarker(new MarkerOptions()
            .position(position)
            .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE)));
}

无论如何,要考虑到您必须遵循代码约定,并且变量名必须以小写字符开头。因此,您的
GoogleMap
必须命名为
GoogleMap
,您的
LatLongPosition
变量必须命名为
LatLongPosition

我是否应该在DatabaseHelper类上编写一些代码?对于更新方法?因为我确实输入了上面的代码,但是没有绘制标记。你的LatLng数组列表的名称是什么?onClick方法上的ArrayList是否为空?其-private final ArrayList LatLongPosition=new ArrayList(),ArrayList在onClick方法上时不是空的,它是否进入for循环?是的,我用toast.而不是Log进行了检查。