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>

  

 

posted @ 2018-01-10 16:05  咖喱不见不散啊  阅读(6267)  评论(0编辑  收藏  举报