2013-07-16 3 views
0

J'ai créé EditText vues dynamiquement. J'ai également créé l'alerte dialog avec une vue EditText. Maintenant, je devrais obtenir le texte tapé dans la boîte de dialogue d'alerte à la EditText généré dynamiquement. S'il vous plaît aidez-moi ..Extrait la valeur de la boîte de dialogue d'alerte pour mettre à jour dynamiquement EditText généré

@Override 
public void onClick(View v) { 



    EditText input = new EditText(this); 
    Context Context = this; 
    AlertDialog Alert=new AlertDialog.Builder(Context).setTitle("Add Field").setMessage("Proceed").setView(input).setPositiveButton("Yes",new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      // TODO Auto-generated method stub 

      Toast.makeText(getApplicationContext(), "You clicked on Yes", Toast.LENGTH_LONG).show(); 

     } 
    }).setNegativeButton("No", new DialogInterface.OnClickListener() { 

     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      // TODO Auto-generated method stub 

      dialog.cancel(); 
      Toast.makeText(getApplicationContext(), "You clicked on No", Toast.LENGTH_LONG).show(); 


     } 


    }).show(); 


     LinearLayout linearLayout = (LinearLayout)findViewById(R.id.editTextGroupLayout); 
     EditText editTextView = new EditText(this); 
     editTextView.setGravity(Gravity.CENTER); 

     LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, 
      LayoutParams.WRAP_CONTENT); 

     editTextView.setLayoutParams(params); 
     editTextView.setHint("Enter Field "); 
     linearLayout.addView(editTextView); 


if(v.getId()==R.id.button_selectoptionsback){ 




      Intent a=new Intent(this,Admin.class); 
      this.startActivity(a); 

    }  

} 

}

+0

Pourriez-vous, s'il vous plaît, expliquer en détail ce que fait votre programme? En faisant des références au programme, dites-nous quel problème vous obtenez, alors nous verrons. –

+0

Juste j'avais créé des pages d'administration et d'utilisateur. Dans la page d'inscription d'admin, j'ai créé edittext dynamiquement. J'ai également créé une boîte de dialogue d'alerte pour confirmer si l'administrateur est prêt à ajouter le champ ou non. Le texte qui est entré dans le texte d'édition de alertdialog, le même devrait apparaître dans le texte d'édition généré dynamiquement. –

Répondre

0

Le problème semble être que votre dialogue ne dispose pas d'une référence à la deuxième entrée de texte.

Vous pouvez créer la 2ème entrée avant la boîte de dialogue et la définir comme final, auquel cas vous pouvez l'utiliser dans la classe. Dans votre onClick positif, vous pouvez appeler:

editTextView.setText(input.getText()); 

Dans l'ensemble, ça va ressembler à quelque chose comme ceci:

final EditText input = new EditText(this); 
final EditText editTextView = new EditText(this); 
AlertDialog /* codez... */ .setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
    @Override 
    public void onClick(DialogInterface dialog, int which) { 
     editTextView.setText(input.getText()); 

     Toast.makeText(/* ... */); 
    } 
}) /* more code */ 
+0

où je dois écrire ce code ?? –

+0

@AdityaReddy vient de mettre à jour ma réponse pour montrer où. –

+0

J'ai créé la référence d'un autre edittext sous la disposition linéaire. @ David –

0

Votre EditText est déclaré après votre Dialog ce qui est faux. Ce que vous devez donc est que le EditText doit être déclarée avant le Dialog commence, et lorsque l'utilisateur clique sur le bouton « Oui », à savoir le PositiveResponse, vous devez ajouter le code suivant:

editTextView.setText(input.getText()); 

Cela devrait faire l' tour.

Questions connexes