我试图以这种方式在 ArrayList 中放置一个标记:
首先我在 MainActivity 类中声明:
public ArrayList<Marker> myList = new ArrayList<Marker>();
启动程序后标记第一个点并将其隐藏:
if (myList.get(0)==null)
{
MarkerOptions options = new MarkerOptions()
.position(latLng)
.visible(false)
myList.add(0, mMap.addMarker(options));
}
然后我写下一个标记按钮被按下
myButton.setOnClickListener(new View.OnClickListener()
{
public void onClick(View view)
{
LatLng latLng = new LatLng(currentLatitude, currentLongitude)
if (myList.get(0) != null)
{
MarkerOptions options = new MarkerOptions()
.position(latLng)
myList.add(1,mMap.addMarker(options));
}
else if (myList.get(0) != null && (myList.get(1) != null))
{
MarkerOptions options = new MarkerOptions()
.position(latLng)
myList.add(2,mMap.addMarker(options));
}
应用程序在开始时崩溃...... 当选项卡[]代替列表时,程序将运行
java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
最佳答案
在获取数组的索引 0 之前,检查它是否不为空。
if (!myList.isEmpty())
{
if (myList.get(0)==null)
{
//do your thing
}
}
关于java - 我正在尝试在 ArrayList 中放置一个标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39894649/