兩種情況
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:一定要重置更新后的數據,再通知更新.
分享到:
相关推荐
`Dialog`是Android系统提供的一个组件,它以半透明的弹出窗口形式展示在当前活动(Activity)之上,用于提示用户进行一些操作或显示额外信息。创建`Dialog`通常有两种方式:通过继承`Dialog`类或使用`AlertDialog....
在这个场景中,我们关注的是如何在用户点击ListView的某一项时,弹出一个Dialog,并且能够通过Dialog中的操作更新所选item的值。这个过程涉及到几个关键知识点,包括ListView的适配器、点击事件监听、Dialog的创建...
在本项目中,“自定义Dialog加ListView”就是将`Dialog`与`ListView`结合,创建一个可以展示列表数据的弹出窗口,以提供更加丰富的用户交互体验。 首先,我们需要理解`Dialog`的基本用法。在Android中,我们可以...
自定义的dialog 运用了listview作为弹框的主显示 选择项可多可少灵活方便 带有记住上次选择项的功能 运用枚举填补数据.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
4. 显示Dialog:在需要弹出Dialog的地方调用自定义Dialog类的实例化方法并显示。 接着,我们来看ListView的自适应屏幕显示。ListView是Android中常用的组件,用于展示大量可滚动的数据。为了让ListView适应不同的...
总结起来,实现一个带有ListView的Android弹出框,主要步骤包括创建Dialog布局、定义数据模型和适配器、初始化Dialog、设置样式和动画以及处理点击事件。通过这些步骤,你可以为用户构建一个交互式且功能丰富的弹出...
通过学习和实践这个`PopupWindow`与`ListView`结合的示例,开发者能够掌握创建自定义弹出菜单的技巧,进一步提升Android应用的用户体验。记得在实际项目中,根据具体场景调整`PopupWindow`的大小、位置以及显示和...
Dialog是Android系统提供的一种弹出式窗口,它通常用来显示临时信息或获取用户输入。在Android中,我们可以通过继承`AlertDialog.Builder`或者直接使用`AlertDialog`类来创建Dialog。自定义Dialog则意味着我们需要...
一个Android登录界面的制作范例,以Android dialog方式实现的弹出式登录框,并包括了帐号密码保存、加密算法等模块源码。本登录源码将对密码信息进行AES加密算法加密后保存,有些功能需要服务器配合才能看到,比如...
"安卓底部弹出列表的Dialog(RecyclerViewDialog)"是一个常见的交互模式,它允许用户在屏幕底部弹出一个可滚动的列表,通常用于显示选项或者搜索建议。在这个场景中,我们使用了RecyclerView,一个高效的视图复用组件...
Dialog是Android中的一种弹出式窗口,它用于显示临时信息或与用户进行交互。在成绩系统中,Dialog可能会被用来确认用户是否要删除某条成绩,或者显示关于应用的信息。通常,我们可以通过`AlertDialog.Builder`来创建...
底部弹出窗(Bottom Dialog)是一种常见的交互模式,用于展示临时信息或提供操作选项。本篇文章将深入探讨两种在Android中实现底部弹出窗Dialog的方法,以及相关的设计与实现细节。 1. 列表弹窗实现 列表弹出窗通常...
为了改善用户体验,我们可以自定义 Spinner 类,让它在点击后弹出一个带有确认和取消按钮的 Dialog。 首先,我们需要创建一个布局文件来设计这个 Dialog,它包含了一个 ListView 以及底部的确认和取消按钮。...
在Android开发中,自定义的ListView结合RadioButton显示对话框列表数据是一种常见的用户界面设计,用于在弹出的对话框中展示一系列可选的列表项。这样的设计能够为用户提供清晰的选择方式,同时保持屏幕的整洁。以下...
这种组合常用于在应用程序中以弹出的方式展示一组可交互的数据。 首先,我们来详细了解一下DialogFragment。DialogFragment是Fragment的一个子类,它扩展了Fragment的功能,使其能够在屏幕上以对话框的形式显示。...
5. **Dialog或PopupWindow**:这个弹出框可能是使用Dialog或者PopupWindow实现的,它们都是Android中用来显示临时界面的组件。 6. **布局管理**:XML布局文件中需要设计两个ListView的嵌套结构,以及如何展示选中...
标题"listview二级菜单"描述的正是这种实现方式,即通过Button触发一个ListView的弹出,然后在ListView的每个条目上再次点击以显示第二个级别的ListView。这样的设计可以为用户提供更丰富的交互体验,特别是在导航和...
`ExpandableListView`是`ListView`的扩展,它具有父组(Group)和子项(Child)的概念。每个父组可以包含多个子项,用户可以通过点击父组来展开或折叠其子项。这种结构使得数据展示更加清晰且易于操作。 为了在`...
这里我们将深入探讨如何在ListView的每一项中嵌入RadioButton,并实现单选效果,同时利用Dialog的形式弹出这个ListView。 首先,我们需要在ListView的Adapter中为每一项数据创建一个包含RadioButton的布局。这个...
在实际应用中,可能还会遇到其他相关问题,如点击事件冲突、键盘弹出时ListView的滚动行为等。对于这些问题,可以通过设置ListView的`transcriptMode`属性、监听软键盘的显示隐藏、或者使用诸如`android:...