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

2018/01/10 16:05
阅读数 567

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>

  

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部