Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.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<;HashMap>;在位_Java_Android - Fatal编程技术网

Java 替换Arraylist<;HashMap>;在位

Java 替换Arraylist<;HashMap>;在位,java,android,Java,Android,在这里,我从第二个活动中得到了结果: saveButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent returnIntent = new Intent(); returnIntent.putExtra("taskItems",taskItems);

在这里,我从第二个活动中得到了结果:

saveButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent returnIntent = new Intent();
            returnIntent.putExtra("taskItems",taskItems);
            returnIntent.putExtra("position",position);
            setResult(RESULT_OK, returnIntent);
            finish();
        }
    });
我如何替换第一次给定位置上的地图

我希望我的问题很清楚

亲切问候。

您可以使用。从文件中

将此ArrayList中指定位置的元素替换为 指定的对象

从意图中检索位置和地图后,可以执行以下操作:

@Override
protected void onActivityResult(int requestCode,int resultCode, Intent data) {
    if(requestCode == 200) {
        if(resultCode == RESULT_OK) {
            int position = data.getIntExtra("position",0);
        }
        if (resultCode == RESULT_CANCELED) {

        }
    }
}
你可以用。从文件中

将此ArrayList中指定位置的元素替换为 指定的对象

从意图中检索位置和地图后,可以执行以下操作:

@Override
protected void onActivityResult(int requestCode,int resultCode, Intent data) {
    if(requestCode == 200) {
        if(resultCode == RESULT_OK) {
            int position = data.getIntExtra("position",0);
        }
        if (resultCode == RESULT_CANCELED) {

        }
    }
}
@覆盖
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
if(requestCode==200){
if(resultCode==RESULT\u OK){
int position=data.getIntExtra(“position”,0);
HashMap items=(HashMap)data.getSerializableExtra(“taskItems”);
任务项。设置(位置、项);
adapter.notifyDatasetChanged();
}
if(resultCode==RESULT\u取消){
}
}
}
@覆盖
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
if(requestCode==200){
if(resultCode==RESULT\u OK){
int position=data.getIntExtra(“position”,0);
HashMap items=(HashMap)data.getSerializableExtra(“taskItems”);
任务项。设置(位置、项);
adapter.notifyDatasetChanged();
}
if(resultCode==RESULT\u取消){
}
}
}
您可以使用

@Override
protected void onActivityResult(int requestCode,int resultCode, Intent data) {
    if(requestCode == 200) {
        if(resultCode == RESULT_OK) {
            int position = data.getIntExtra("position",0);
            HashMap<String,String> items = (HashMap<String,String>) data.getSerializableExtra("taskItems");

            taskItems.set(position, items);
            adapter.notifyDatasetChanged();

        }
        if (resultCode == RESULT_CANCELED) {

        }
    }
}
请注意,对于
ArrayList
,方法
set
具有函数头:

taskItems.set(position,item);
将列表中指定位置的元素替换为您可以使用的指定
元素

@Override
protected void onActivityResult(int requestCode,int resultCode, Intent data) {
    if(requestCode == 200) {
        if(resultCode == RESULT_OK) {
            int position = data.getIntExtra("position",0);
            HashMap<String,String> items = (HashMap<String,String>) data.getSerializableExtra("taskItems");

            taskItems.set(position, items);
            adapter.notifyDatasetChanged();

        }
        if (resultCode == RESULT_CANCELED) {

        }
    }
}
请注意,对于
ArrayList
,方法
set
具有函数头:

taskItems.set(position,item);

将列表中指定位置的元素替换为指定的
元素

谢谢您的回答!我要试试这个!谢谢你的回答!我要试试这个!非常感谢。你能告诉我适配器是什么吗;是吗?它告诉列表适配器更新ui,因为基础数据已更改。谢谢!!你能告诉我适配器是什么吗;它告诉列表适配器更新ui,因为基础数据已更改。