如何在Android中刷新列表视图-onItemClick,警报显示为编辑文本
我有一个列表视图,其中显示: 标签:10 tagb:20 当我点击一个项目时,我会收到一个提示,要求更改一个值(EditText) 我设置该值并单击“确定”如何在Android中刷新列表视图-onItemClick,警报显示为编辑文本,android,Android,我有一个列表视图,其中显示: 标签: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();
}