与自定义适配器的警报对话

alert dialogue with custom adapter

我有一个警告对话,其中有一个微调器。微调器的默认值为 "Add New User"。 When the particular one is selected i am showing another pop up without closing alert ,in which new user details can be entered and it will be stored to my DB.I want to update my spinner in first alert with the new user value entered来自 db.

我的代码微调器选择方法是

spnr.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

                @Override
                public void onItemSelected(AdapterView<?> arg0, View arg1, int position,long id) {
                    model_list = planList_list.get(position);
                    if (model_list.getDevice().trim().equalsIgnoreCase("Add New User")){

                        User();
                        adapter_usr.notifyDataSetChanged();
                    }
                }

                @Override
                public void onNothingSelected(AdapterView<?> arg0) {
                    model_list = planList_list.get(0);
                }

            });

添加新用户的方法

public void User(){

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    final AlertDialog dialog = builder.create();
    dialog.setCancelable(false);
    LayoutInflater inflater = (LayoutInflater) this.getSystemService(this.LAYOUT_INFLATER_SERVICE);
    View dialogLayout = inflater.inflate(R.layout.mybank, null);
    final EditText add1 = (EditText)dialogLayout.findViewById(R.id.shop1);
    final EditText add2 = (EditText)dialogLayout.findViewById(R.id.shop2);
    final EditText add3 = (EditText)dialogLayout.findViewById(R.id.shop3);

    Button ok = (Button)dialogLayout.findViewById(R.id.later );
    Button close = (Button)dialogLayout.findViewById(R.id.close);
    close.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View arg0) {

            dialog.dismiss();
        }
    });
    ok.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View arg0) {

                String addr1 = add1.getText().toString().trim();
                String addr2 = add2.getText().toString().trim();
                String addr3 = add3.getText().toString().trim();

                db.insertUser(addr1,addr2,addr3);
                adapter_usr.notifyDataSetChanged();
                dialog.dismiss();
        }
    });

    dialog.setView(dialogLayout,0,0,0,0);
    dialog.show();

}

我想用第二个警报对话中的值更新第一个警报对话中的微调器数据。 感谢您的回复

在将用户数据插入 table 之后,在调用 notifyDataSetChanged() 之前将用户数据添加到 planList_list

ok.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View arg0) {

            String addr1 = add1.getText().toString().trim();
            String addr2 = add2.getText().toString().trim();
            String addr3 = add3.getText().toString().trim();

            db.insertUser(addr1,addr2,addr3);
            planList_list.add(/*Add user data*/);
            adapter_usr.notifyDataSetChanged();
            dialog.dismiss();
    }
});

希望这能解决您的问题。编码愉快。