Android AlertDialog 动态更新里面的ListView数据

1:和ListView的数据跟新是基本一样的。

2:Activity代码示例

public class MainActivity extends AppCompatActivity {

    AlertDialog alertDialog;
    View view;
    List<String> data = new ArrayList<>();
    ListView listView;
    ArrayAdapter<String> adapter;

    Handler handler=new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            adapter.notifyDataSetChanged();
        }
    };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        for (int i = 0; i < 100; i++) {
            data.add("数据:" + i);
        }

        view = getLayoutInflater().inflate(R.layout.controller_volume, null);
        alertDialog = new AlertDialog.Builder(this).setTitle("Dialog ListView更新").setIcon(R.mipmap.ic_launcher)
                .setView(view)
                .setPositiveButton("return", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface paramAnonymousDialogInterface, int paramAnonymousInt) {

                    }
                }).create();
        listView=view.findViewById(R.id.listView);
        adapter=new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,data);
        listView.setAdapter(adapter);
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                data.remove(data.get(position));
                handler.sendEmptyMessageDelayed(100,1000);
            }
        });

        alertDialog.show();
    }

}

3:controller_volume.xml 只有一个listView

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ListView
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:id="@+id/listView"/>
</android.support.constraint.ConstraintLayout>

  

原文地址:https://www.cnblogs.com/galibujianbusana/p/8259150.html

时间: 2024-10-03 14:14:20

Android AlertDialog 动态更新里面的ListView数据的相关文章

动态设置ScrollView里面的ListView的高度

思路:循环取得listview中的Item的高度,把所有Item高度累加,就是Listview的高度. 1 public static void setListViewHeightBasedOnChildren(ListView listView) { 2 if (listView == null) 3 return; 4 ListAdapter listAdapter = listView.getAdapter(); 5 if (listAdapter == null) { 6 return;

cocos2dx中android下动态更新.so文件

作者:HU 转载请注明,原文链接:http://www.cnblogs.com/xioapingguo/p/4037595.html  因为没用lua脚本写游戏,所以每次发布出去后,发现在bug,需要更新APK重新安装,严重影响体验,增加玩家流失率.如果使用直接更新.so文件的话,就可以解决这个问题. 1.下载.so文件,使用游戏本身的资源更新方法,下载下来,到文件的file/res目录 .so文件zip压缩一下会小很多,解压方法参考http://www.cnblogs.com/xioaping

android清除本应用里的各种数据的方法

public class DataCleanManager { /** * * 清除本应用内部缓存(/data/data/com.xxx.xxx/cache) * * * * @param context */ public static void cleanInternalCache(Context context) { deleteFilesByDirectory(context.getCacheDir()); } /** * * 清除本应用所有数据库(/data/data/com.xxx.

Fragment里面的ListView的item点击没反应

最近做一个消息列表,发现fragment的listview加载消息出来后,每条消息都点击不了,经过询问和查下已解决 开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现了,可能会发生点击每一个item的时候没有反应,无法获取的焦点.原因多半是由于在你自己定义的Item中存在诸如ImageButton,Button,CheckBox等子控件(也可以说是B

Android中动态更新TextView上的文字

示例代码: 1.新线程,定时更新文字 class testThread extends Thread{ public void run() { Message message = new Message(); mHandler.sendMessage(message); } } //在handler中更新UI private Handler mHandler = new Handler(){ public void handleMessage(Message msg) { textView.se

Android之ScrollView里嵌套ListView

ScrollView套ListView会存以下两个问题 1.里面的listView高度无法算出来,通常只能显示listview的其中一行 2.listview不能滚动 这里我用的是可展开的(ExpandableListView 解决问题一,如果ExpandableListView是的子项是用写死的布局文件来加载的,只要在设置ListView的Adapter后调用此静态方法即可让ListView正确的显示在其父ListView的ListItem中.但是要注意的是,子ListView的每个Item必

android之ScrollView里嵌套ListView(转)

hi,大家好,研究完ScrollView嵌套ScrollView之后,本人突然又想研究ScrollView里嵌套ListView了.如果还不知道ScrollView嵌套ScrollView是怎么实现的可以参考http://www.eoeandroid.com/thread-240709-1-1.html在上篇文章当中其实我没有怎么把原理讲清楚,只是上了原代码,而其实ScrollView里套ScrollView和ScrollView里套ListView是同一个道理的. 按常理,ScrollView

gdb 和 addr2line 调试 crash(包含如何调试so里面的crash)

嵌入式编程中会遇到各种crash的问题. 对于这样的问题,有两种调试方法: addr2line  和 gdb. 第一章   先讲解下gcc 编译加不加 -g 对程序的影响, 还有strip. //1.1.cpp #include <iostream> using namespace std; bool IsUnique() {         int k = 0, m = 0;         k = k/m;      //这里会crash         return true; } in

ExtJS 下拉框监听事件、日期选择器监听事件、实现动态给items添加删除数据

1.下拉框 下拉框选择时,触发事件的方法: 在 Ext.form.ComboBox 组件中新增 listeners 监听事件 基本写法为:  listeners{'事件',function(){处理方法}} listeners:{ select:{ fn:function(combo,record,index) { } } }   2.日期选择器 选择日期时,值发生变化,并且在失去焦点之前触发此事件,也就是说如果此日期组件的值发生变化,而焦点并没有失去,这个事件也就不会触发.解决方法: menu