Android 从alertDialog填充listView

Android 从alertDialog填充listView,android,listview,android-listview,Android,Listview,Android Listview,我几天前问过这个问题,但没人回答。。帮帮我,伙计们。。。 我有一个按钮,点击后,会显示一个alertdialog。。。。在alertDialog中,我设置了prompview,它有两个编辑文本和一个保存按钮。。。单击保存按钮后,信息应保存在listview中,例如姓名和电子邮件。。。所以我想通过点击保存按钮保存更多的记录。。。例如,用户输入姓名和电子邮件,当用户输入保存按钮时,记录应保存为listview中的一项。。。因此,用户可以在单击alertDialog中的“保存”按钮后保存多条记录。。我

我几天前问过这个问题,但没人回答。。帮帮我,伙计们。。。 我有一个按钮,点击后,会显示一个alertdialog。。。。在alertDialog中,我设置了prompview,它有两个编辑文本和一个保存按钮。。。单击保存按钮后,信息应保存在listview中,例如姓名和电子邮件。。。所以我想通过点击保存按钮保存更多的记录。。。例如,用户输入姓名和电子邮件,当用户输入保存按钮时,记录应保存为listview中的一项。。。因此,用户可以在单击alertDialog中的“保存”按钮后保存多条记录。。我对安卓非常陌生。。。我已经找过了,但不明白。。。请帮我。。。我不知道怎么做

这是我的代码:

public class Personal_Info extends ListActivity {
        final Context context = this;
        Button btnAddEmail;
        EditText etEmailName,etEmailAddress;


        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.personal_info);

            btnAddEmail =(Button)findViewById(R.id.btnAddEmail);


            btnAddEmail.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub


                    LayoutInflater li = LayoutInflater.from(context);
                    View promptsView = li.inflate(R.layout.add_email, null);
                    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
                            context);

                    // set prompts.xml to alertdialog builder
                    alertDialogBuilder.setView(promptsView);
                    etEmailName =(EditText)promptsView.findViewById(R.id.etEmailName);
                    etEmailAddress =(EditText)promptsView.findViewById(R.id.etEmailAddress);


                    alertDialogBuilder
                    .setCancelable(false)
                    .setPositiveButton("OK",
                      new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog,int id) {
                         String emailname = etEmailName.getText().toString();
                         String emailadd = etEmailAddress.getText().toString();

                        if(emailname.equals("") || emailadd.equals("")){
                            Toast.makeText(Personal_Info.this, "enter name and email address", Toast.LENGTH_SHORT).show();
                        }else{
                            final String[] email =new String[]{emailname,emailadd};
                            setListAdapter(new ArrayAdapter<String>(getApplicationContext(), R.layout.row_item,email));
                            ListView list = getListView();
                             list.setTextFilterEnabled(true);

                             list.setOnItemClickListener(new OnItemClickListener() {

                                @Override
                                public void onItemClick(AdapterView<?> arg0,
                                        View arg1, int arg2, long arg3) {
                                    // TODO Auto-generated method stub

                                    Toast.makeText(getApplicationContext(), ((TextView)arg1).getText(), Toast.LENGTH_SHORT).show();

                                    }
                                });
                            }
                        }
                      })
                    .setNegativeButton("Cancel",
                      new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog,int id) {
                        dialog.cancel();
                        }
                      });

                // create alert dialog
                AlertDialog alertDialog = alertDialogBuilder.create();

                // show it
                alertDialog.show();
                }
            });
        }
    }

看起来你从来没有在你的列表中添加任何项目

调整代码如下:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.row_item,email);
adapter.add(email);
setListAdapter(adapter);

成功了吗?

请您解释更多我没有得到您的问题。不用担心,您会得到帮助我想从alertdialog动态获取数据到listview。。我有一个按钮,在单击alertdialog时显示。。在alertDialog中有两个editText,一个用于名称,另一个用于电子邮件。。。所以我想,当用户点击alertdialog中的save按钮时。。所以我想从alertdialog EditText填充listview@Gaurav Pandeyz你能告诉我你的邮箱号码吗??我想给你发邮件@Gaurav Pandeyi,我已经试过了,但是没有用。。同样的错误,先生,把你的身份证给我。。我会把我的整个包裹发电子邮件给Gaurav PandeyI see。您不应该在onclick方法内创建适配器的新实例。在oncreate方法和onclick just调用中创建并设置适配器。在适配器上添加邮件可启动活动组件信息。。。和您的内容必须具有id属性为“android.R.id.list”的ListView。。。这个错误检查这个问题还是个问题吗@用户3302944