`

彈出的dialog如何更新下面的listview

CMS 
阅读更多

兩種情況

1.兩個activity之間跳轉,當back的時候,主activity顯示會調用onResume()方法,所以刷新可以這樣處理:

 @Override
 protected void onResume() {
  super.onResume();
  //onPause==>onResume,重新獲取lv數據,刷新頁面
  freeAdapter.setMData(AppDataManage.getData(true));
  freeAdapter.notifyDataSetChanged();// 通知listview頁面重繪

  paymentAdapter.setMData(AppDataManage.getData(false));
  paymentAdapter.notifyDataSetChanged();
  recentpayment.setMData(AppDataManage.getRecentData());
  recentpayment.notifyDataSetChanged();
 }

2.如果activiy里彈出dialog,并不會調用onResume()方法,處理方式如下:

 /**
  * @param context
  * @param title
  * @param item
  * @param refreshAdapter listview's adapter做數據更新
  */
 public static void showProgreeCommentDialog(Context context, String title,
   final App item,final AppCommentAdapter refreshAdapter) {
  LayoutInflater inflater = LayoutInflater.from(context);
  final View textEntryView = inflater.inflate(
    com.cms.activity.R.layout.dialogcomment, null);
  AlertDialog.Builder builder = new AlertDialog.Builder(context);
  builder.setTitle(title);
  builder.setIcon(com.cms.activity.R.drawable.comment);
  builder.setView(textEntryView);
  builder.setPositiveButton(SingleApplication.nfcstore.getResources().getString(R.string.finish), new DialogInterface.OnClickListener() {
   public void onClick(DialogInterface dialog, int which) {
    int num = item.getComments().size();
    AppComment comment = new AppComment();
    comment.setCommentDate(new Date());
    Long zero = new Long(0);
    comment.setId(++num+zero);
    EditText etcomment = (EditText) textEntryView.findViewById(R.id.dialog_comment);
    comment.setContent(etcomment.getText().toString());
    EditText etuser = (EditText) textEntryView.findViewById(R.id.dialog_username);
    comment.setCritics(etuser.getText().toString());
    RatingBar rb = (RatingBar) textEntryView.findViewById(R.id.dialog_ratingBar);
    float rating=rb.getRating();
    comment.setGrade(rating);
    item.addComment(comment);
    dialog.dismiss();
    if(null != refreshAdapter){
     refreshAdapter.setMData(AppDataManage.getCommentData(item));//設置新的數據
     refreshAdapter.notifyDataSetChanged();
     
    }
   }
  });
  builder.setNegativeButton(SingleApplication.nfcstore.getResources().getString(R.string.cancel), new DialogInterface.OnClickListener() {
   public void onClick(DialogInterface dialog, int which) {
    dialog.dismiss();
   }
  });
  builder.create().show();
 }

 

attention:一定要重置更新后的數據,再通知更新.

分享到:
评论

相关推荐

    android dialog嵌套ListView

    `Dialog`是Android系统提供的一个组件,它以半透明的弹出窗口形式展示在当前活动(Activity)之上,用于提示用户进行一些操作或显示额外信息。创建`Dialog`通常有两种方式:通过继承`Dialog`类或使用`AlertDialog....

    ListView点击item弹出Dialog

    在这个场景中,我们关注的是如何在用户点击ListView的某一项时,弹出一个Dialog,并且能够通过Dialog中的操作更新所选item的值。这个过程涉及到几个关键知识点,包括ListView的适配器、点击事件监听、Dialog的创建...

    自定义Dialog加ListView

    在本项目中,“自定义Dialog加ListView”就是将`Dialog`与`ListView`结合,创建一个可以展示列表数据的弹出窗口,以提供更加丰富的用户交互体验。 首先,我们需要理解`Dialog`的基本用法。在Android中,我们可以...

    安卓listview相关相关-自定义的dialog运用了listview作为弹框的主显示选择项可多可少灵活方便带有记住上次选择项的功能运用枚举填补数据.rar

    自定义的dialog 运用了listview作为弹框的主显示 选择项可多可少灵活方便 带有记住上次选择项的功能 运用枚举填补数据.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

    android自定义dialog+listview自适应屏幕显示.zip

    4. 显示Dialog:在需要弹出Dialog的地方调用自定义Dialog类的实例化方法并显示。 接着,我们来看ListView的自适应屏幕显示。ListView是Android中常用的组件,用于展示大量可滚动的数据。为了让ListView适应不同的...

    android 弹出框 内添加listview

    总结起来,实现一个带有ListView的Android弹出框,主要步骤包括创建Dialog布局、定义数据模型和适配器、初始化Dialog、设置样式和动画以及处理点击事件。通过这些步骤,你可以为用户构建一个交互式且功能丰富的弹出...

    Android之用PopupWindow实现弹出listview形式的菜单

    通过学习和实践这个`PopupWindow`与`ListView`结合的示例,开发者能够掌握创建自定义弹出菜单的技巧,进一步提升Android应用的用户体验。记得在实际项目中,根据具体场景调整`PopupWindow`的大小、位置以及显示和...

    android自定义dialog嵌套listview

    Dialog是Android系统提供的一种弹出式窗口,它通常用来显示临时信息或获取用户输入。在Android中,我们可以通过继承`AlertDialog.Builder`或者直接使用`AlertDialog`类来创建Dialog。自定义Dialog则意味着我们需要...

    Android 弹出框风格的dialog登录界面.rar

    一个Android登录界面的制作范例,以Android dialog方式实现的弹出式登录框,并包括了帐号密码保存、加密算法等模块源码。本登录源码将对密码信息进行AES加密算法加密后保存,有些功能需要服务器配合才能看到,比如...

    安卓底部弹出列表的Dialog(RecyclerViewDialog),支持上下滑动列表

    "安卓底部弹出列表的Dialog(RecyclerViewDialog)"是一个常见的交互模式,它允许用户在屏幕底部弹出一个可滚动的列表,通常用于显示选项或者搜索建议。在这个场景中,我们使用了RecyclerView,一个高效的视图复用组件...

    ListView&Spinner&Dialog练习

    Dialog是Android中的一种弹出式窗口,它用于显示临时信息或与用户进行交互。在成绩系统中,Dialog可能会被用来确认用户是否要删除某条成绩,或者显示关于应用的信息。通常,我们可以通过`AlertDialog.Builder`来创建...

    安卓两种底部弹出窗dialog实现方式

    底部弹出窗(Bottom Dialog)是一种常见的交互模式,用于展示临时信息或提供操作选项。本篇文章将深入探讨两种在Android中实现底部弹出窗Dialog的方法,以及相关的设计与实现细节。 1. 列表弹窗实现 列表弹出窗通常...

    重写Spinner类,实现点击后弹出带有确认,取消按钮的dialog

    为了改善用户体验,我们可以自定义 Spinner 类,让它在点击后弹出一个带有确认和取消按钮的 Dialog。 首先,我们需要创建一个布局文件来设计这个 Dialog,它包含了一个 ListView 以及底部的确认和取消按钮。...

    自定义的ListView结合RadioButton显示对话框列表数据

    在Android开发中,自定义的ListView结合RadioButton显示对话框列表数据是一种常见的用户界面设计,用于在弹出的对话框中展示一系列可选的列表项。这样的设计能够为用户提供清晰的选择方式,同时保持屏幕的整洁。以下...

    弹窗含有listview

    这种组合常用于在应用程序中以弹出的方式展示一组可交互的数据。 首先,我们来详细了解一下DialogFragment。DialogFragment是Fragment的一个子类,它扩展了Fragment的功能,使其能够在屏幕上以对话框的形式显示。...

    安卓三级联动省市联动多级联动相关-仿美团弹出分类选择框左右两个listview联动.rar

    5. **Dialog或PopupWindow**:这个弹出框可能是使用Dialog或者PopupWindow实现的,它们都是Android中用来显示临时界面的组件。 6. **布局管理**:XML布局文件中需要设计两个ListView的嵌套结构,以及如何展示选中...

    listview二级菜单

    标题"listview二级菜单"描述的正是这种实现方式,即通过Button触发一个ListView的弹出,然后在ListView的每个条目上再次点击以显示第二个级别的ListView。这样的设计可以为用户提供更丰富的交互体验,特别是在导航和...

    dialog弹出 二级下拉列表 ExpandableListView+Dialog

    `ExpandableListView`是`ListView`的扩展,它具有父组(Group)和子项(Child)的概念。每个父组可以包含多个子项,用户可以通过点击父组来展开或折叠其子项。这种结构使得数据展示更加清晰且易于操作。 为了在`...

    ListView下的Radiobutton单选问题

    这里我们将深入探讨如何在ListView的每一项中嵌入RadioButton,并实现单选效果,同时利用Dialog的形式弹出这个ListView。 首先,我们需要在ListView的Adapter中为每一项数据创建一个包含RadioButton的布局。这个...

    android listview带有editText

    在实际应用中,可能还会遇到其他相关问题,如点击事件冲突、键盘弹出时ListView的滚动行为等。对于这些问题,可以通过设置ListView的`transcriptMode`属性、监听软键盘的显示隐藏、或者使用诸如`android:...

Global site tag (gtag.js) - Google Analytics