2014-02-14 4 views
1

Я задал вопрос несколько дней назад, но не ответил никому .. Помогите мне, ребята, plz ... У меня есть кнопка, которая нажата, появится alertdialog .... В alertDialog i set prompview, у которых есть два editTexts и кнопка сохранения ... После нажатия кнопки сохранения информация должна быть сохранена в listview (например, имя и адрес электронной почты) ... поэтому я хочу сохранить больше, чем записи, нажав кнопку сохранения ... Для например, пользователь вводит имя и адрес электронной почты, а когда пользователь вводит кнопку сохранения, запись должна быть сохранена как один элемент в списке ... поэтому пользователь может сохранить несколько записей после нажатия кнопки сохранения в alertDialog. Я очень новичок в android. Я искал, но не понимаю ... PLZ помочь мне ... Я не знаю, как это сделать ...Population listView from 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(); 
       } 
      }); 
     } 
    } 
+1

у, пожалуйста, объясните больше, я не получаю ур вопрос. Не волнуйтесь, здесь и получите помощь – Developer

+0

Я хочу, чтобы данные из alertdialog в список отображались динамически .. У меня есть кнопка, которая при нажатии на alertdialog отображается .. В alertDialog есть два editText один для имени и другой электронной почты ... поэтому я хочу, когда пользователь нажимает кнопку сохранения в alertdialog .. поэтому я хочу заполнить listview из alertdialog editTexts .. @Gaurav Pandey – user3302944

+0

может u plz дать ваш идентификатор электронной почты ?? Я хочу отправить вам письмо @ \t Gaurav Pandey – user3302944

ответ

0

Похоже, вы никогда не добавляете товар в свой список.

Adjust такой код:

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

ли это работать?

+0

это не сработало ... – user3302944

+0

я вижу. Не следует создавать новый экземпляр вашего адаптера внутри метода onclick. создать и установить адаптер в методе oncreate, а в вашем onclick просто вызвать .add (email) на вашем адаптере – donfuxx

+0

по-прежнему дают ту же ошибку – user3302944

Смежные вопросы