Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.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 为什么我的列表中有一个列表对象?_Java_Android_List - Fatal编程技术网

Java 为什么我的列表中有一个列表对象?

Java 为什么我的列表中有一个列表对象?,java,android,list,Java,Android,List,我正在创建一个列表来存储手机中存储的图像的最后位置,但当我检查输出时,我注意到每端都有两个方括号 代码如下: protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_photo); LatLngs = (TextView)findViewById(R.id.Lat

我正在创建一个列表来存储手机中存储的图像的最后位置,但当我检查输出时,我注意到每端都有两个方括号

代码如下:

protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_photo);

    LatLngs = (TextView)findViewById(R.id.LatLngs);


    List imagePaths = getCameraImages(this);

    List realLatLngs = getLatLong(imagePaths);

    LatLngs.setText(Arrays.toString(new List[]{realLatLngs}));

}

public List<String> getLatLong(List<String> paths) {

    List<String> trueLatLongList = new ArrayList<>();
    for(int i = 0; i< paths.size(); i++){
        String imagePath = paths.get(i);

        String trueLat = ReturnLat(imagePath);
        String trueLng = ReturnLng(imagePath);

        String trueLatLng = "(" + trueLat + ", " + trueLng + ")";


        trueLatLongList.add(i, trueLatLng);
    }
    return trueLatLongList;
}
protectedvoid onCreate(@Nullable Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_photo);
LatLngs=(TextView)findViewById(R.id.LatLngs);
List ImagePath=getCameraImages(此);
List realLatLngs=getLatLong(imagepath);
setText(Arrays.toString(新列表[]{reallatlatlngs}));
}
公共列表getLatLong(列表路径){
List trueLatLongList=new ArrayList();
对于(int i=0;i

造成这种情况的原因是什么?是我在getLatLong()方法中创建的新列表吗?

这是因为您正在将列表推到另一个列表中,请替换
LatLngs.setText(Arrays.toString(new List[]{realLatLngs}))LatLngs.setText(Arrays.toString(reallatlatlngs))

猜测:

LatLngs.setText(Arrays.toString(new List[]{realLatLngs}));
这是在创建一个新的
列表[]
,其中只包含一个元素(
列表realLatLngs
),然后在其上调用
数组.toString
。因此,您正在对列表数组进行字符串化,这将正确地导致
[…]]

试一试


替换
LatLngs.setText(Arrays.toString(新列表[]{reallatlungs}))LatLngs.setText(Arrays.toString(reallatlatlngs))我已经尝试过了,当我将鼠标悬停在那行的realLatLngs上时,它会说“无法解析方法:'toString(java.util.list)'”
LatLngs.setText(realLatLngs.toString());