问题描述
在我的适配器类中,我创建了一个警报对话框并添加了一个更新按钮,它允许我更新列表视图中的项目,它更新我的列表视图,但只有当我离开页面并返回它时,我已使用 notifydatasetchanged 但它似乎不起作用,我希望它在对话框关闭后立即在列表视图上更新。
更新按钮
viewHolder.btndisplayUpdate.setText("Update");
viewHolder.btndisplayUpdate.setonClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
updateCrime(crimes);
}
});
更新方法
private void updateCrime(CrimesDelete crimes){
AlertDialog.Builder popupWindow = new AlertDialog.Builder(context);
LayoutInflater inflater = LayoutInflater.from(context);
View root = inflater.inflate(R.layout.dialog_update,null);
popupWindow.setView(root);
AlertDialog alertDialog = popupWindow.create();
alertDialog.show();
editLocation = (EditText)root.findViewById(R.id.editText_location);
editType = (EditText)root.findViewById(R.id.editText_type);
editDescription = (EditText)root.findViewById(R.id.editText_description);
editDate = (EditText)root.findViewById(R.id.textViewDate);
editTime = (EditText)root.findViewById(R.id.textViewTime);
Spinner spinner = (Spinner) root.findViewById(R.id.editText_rating);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromresource(
getContext(),R.array.rating,android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setonItemSelectedListener(new AdapterView.OnItemSelectedListener()
{
public void onItemSelected(AdapterView<?> parent,View view,int pos,long id) {
editrating = parent.getItemAtPosition(pos).toString();
if (pos==0){
editrating = null;
}
}
public void onnothingSelected(AdapterView<?> parent) {
}
});
editLocation.setText(crimes.getLOCATION());
editType.setText(crimes.getTYPE());
editDescription.setText(crimes.getDESCRIPTION());
editDate.setText(crimes.getDATE());
editTime.setText(crimes.getTIME());
root.findViewById(R.id.btnAdd).setonClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
String location = editLocation.getText().toString().trim();
String type = editType.getText().toString().trim();
String description = editDescription.getText().toString().trim();
String date = editDate.getText().toString().trim();
String time = editTime.getText().toString().trim();
String rating = spinner.getSelectedItem().toString().trim();
DB_CRIME.updateDate(crimes.getID(),location,type,description,date,time,rating);
loadUpdatedCrimes();
alertDialog.dismiss();
}
});
}
private void loadUpdatedCrimes() {
notifyDataSetChanged();
Toast.makeText(getContext(),"Crime has been Updated",Toast.LENGTH_SHORT).show();
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)