Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.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
如何在Android中刷新列表视图-onItemClick,警报显示为编辑文本_Android - Fatal编程技术网

如何在Android中刷新列表视图-onItemClick,警报显示为编辑文本

如何在Android中刷新列表视图-onItemClick,警报显示为编辑文本,android,Android,我有一个列表视图,其中显示: 标签:10 tagb:20 当我点击一个项目时,我会收到一个提示,要求更改一个值(EditText) 我设置该值并单击“确定” 如何刷新列表视图以显示更改 如何手动更改行并将新值放入其中,例如tagb:122 顺便说一句,项和值的列表来自我对服务器的REST调用的结果 希望这是有意义的 谢谢 以下是ListView的代码: setContentView(R.layout.listview); list=(ListView)findViewById(R.id.list

我有一个列表视图,其中显示:

标签:10 tagb:20

当我点击一个项目时,我会收到一个提示,要求更改一个值(EditText) 我设置该值并单击“确定”

  • 如何刷新列表视图以显示更改
  • 如何手动更改行并将新值放入其中,例如tagb:122
  • 顺便说一句,项和值的列表来自我对服务器的REST调用的结果

    希望这是有意义的

    谢谢

    以下是ListView的代码:

    setContentView(R.layout.listview); list=(ListView)findViewById(R.id.list)

    adapter=新的ListViewAdapter(此、alarmName、deviceName、alarmDate、,
    alarmSev);
    list.setAdapter(适配器);
    adapter.notifyDataSetChanged();
    list.setOnItemClickListener(新的OnItemClickListener(){
    @凌驾
    公共链接(AdapterView arg0、视图arg1、内部arg2、,
    长arg3){
    //TODO自动生成的方法存根
    AlertDialog.Builder adb=新建AlertDialog.Builder(
    报警刺。这个);
    adb.设置标题(“确认报警”);
    adb.setMessage(“是否确认此报警?”+“\n”
    +alarmName.get(arg2));
    alarmpos=alarmName.get(arg2);
    adb.setPositiveButton(“是”,
    新建DialogInterface.OnClickListener(){
    public void onClick(DialogInterface对话框,int-id){
    CloseAlarm(资产、型号、alarmpos);
    }
    });
    adb.setNegativeButton(“否”,
    新建DialogInterface.OnClickListener(){
    public void onClick(DialogInterface对话框,int-id){
    dialog.cancel();
    }
    });
    adb.show();
    }
    });
    GetAlarmsFasset(资产);
    adapter.notifyDataSetChanged();
    }
    
    在执行NOTIFYDATASETCHANGE()操作时,请确保您的编辑已传播到数据中,否则;列表适配器在刷新时不会拾取正确的数据


    这就是我首先要看的地方。

    这取决于如何创建ListView。例如,如果数据位于ArrayList上(并且您正在使用ArrayAdapter),则必须更新数组,然后在listview的适配器上调用notifyDatasetChange。
        adapter = new ListViewAdapter(this, alarmName, deviceName, alarmDate,
                alarmSev);
        list.setAdapter(adapter);
        adapter.notifyDataSetChanged();
        list.setOnItemClickListener(new OnItemClickListener() {
    
            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                    long arg3) {
                // TODO Auto-generated method stub
                AlertDialog.Builder adb = new AlertDialog.Builder(
                        AlarmsTab.this);
    
                adb.setTitle("Acknowledge Alarms");
    
                adb.setMessage("Do you want to Acknowledge this Alarm? " + "\n"
                        + alarmName.get(arg2));
                alarmpos = alarmName.get(arg2);
    
                adb.setPositiveButton("Yes",
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {
    
                                CloseAlarm(asset, model, alarmpos);
    
                            }
                        });
                adb.setNegativeButton("No",
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {
                                dialog.cancel();
                            }
                        });
    
                adb.show();
    
            }
    
        });
    
        getAlarmsForAsset(asset);
        adapter.notifyDataSetChanged();
    
    }