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