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

Posted gali

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>

  

 

以上是关于Android AlertDialog 动态更新里面的ListView数据的主要内容,如果未能解决你的问题,请参考以下文章

Android入门——AlertDialog和ProgressDialog总结

Android AlertDialog 在每个请求上动态更改文本

自定义dialog可动态更新吗

Android-------- AlertDialog中EditText无法弹出输入法的解决

[android] 手机卫士应用程序更新和签名

当 AlertDialog 中的复选框选中或未选中时,Flutter 更新 Reorderable ListView