Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.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 - Fatal编程技术网

Java 通过ArrayList<;字符串>;有无放射性结果

Java 通过ArrayList<;字符串>;有无放射性结果,java,android,Java,Android,我有一个自定义图库,可以在其中选择图像并将图像的路径写入ArrayList。自定义库是从我的MainActivity类调用的,具有onActivityResult意图。问题是,在我的自定义Galery中,ArrayList是正确的(当我选择4个图像时,我在ArrayList中得到4个带有Imagepath的字符串),但当我将ArrayList从Galery传递回MainActivity时,ArrayList中只剩下1个Imagepath。。。希望你能帮助我 在MainActivity.java中

我有一个自定义图库,可以在其中选择图像并将图像的路径写入ArrayList。自定义库是从我的MainActivity类调用的,具有onActivityResult意图。问题是,在我的自定义Galery中,ArrayList是正确的(当我选择4个图像时,我在ArrayList中得到4个带有Imagepath的字符串),但当我将ArrayList从Galery传递回MainActivity时,ArrayList中只剩下1个Imagepath。。。希望你能帮助我

在MainActivity.java中启动活动

Intent in = new Intent(getApplicationContext(), AndroidCustomGalleryActivity.class);
startActivityForResult(in, 500);
填充自定义库中的ArrayList并将意图发送回Main

final Button selectAll = (Button) findViewById(R.id.selectAll);
    selectAll.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            final int thmbnls = thumbnailsselection.length;
            //CheckBox cb = (CheckBox)findViewById(R.id.itemCheckBox);
            //int cbId = cb.getId();

            all = true;
            String allstring = String.valueOf(all);
            Log.d("BOOLONCLICK", allstring);

            for(int i =0; i<thmbnls; i++)
            {
                thumbnailsselection[i] = true;

                path = new ArrayList<String>();
                path.add(arrPath[i]);
                String test = path.toString();
                Log.d("ArrayList", test);
                pfade = path.toArray(new String[path.size()]);
            }

            Intent intent = new Intent();
            intent.putStringArrayListExtra("values", path);
            setResult(RESULT_OK, intent);
            finish();
        }
    });
final Button selectAll=(按钮)findviewbyd(R.id.selectAll);
selectAll.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
final int thmbnls=指钉selection.length;
//复选框cb=(复选框)findViewById(R.id.itemCheckBox);
//int cbId=cb.getId();
全部=正确;
String allstring=String.valueOf(全部);
Log.d(“BOOLONCLICK”,allstring);

对于(int i=0;i,因为您在循环中重新创建了
ArrayList

移动此行:

path = new ArrayList<String>();
path=newarraylist();

在for
循环之前

应该将代码移到for循环之前,问题就会消失

...
path = new ArrayList<String>();
for (int i = 0; i < thmbnls; i++) {
    thumbnailsselection[i] = true;
    path = new ArrayList<String>();
    path.add(arrPath[i]);
    String test = path.toString();
    Log.d("ArrayList", test);
    pfade = path.toArray(new String[path.size()]);
}
...
。。。
路径=新的ArrayList();
对于(int i=0;i
...
path = new ArrayList<String>();
for (int i = 0; i < thmbnls; i++) {
    thumbnailsselection[i] = true;
    path = new ArrayList<String>();
    path.add(arrPath[i]);
    String test = path.toString();
    Log.d("ArrayList", test);
    pfade = path.toArray(new String[path.size()]);
}
...