2013-07-16 31 views
0

我已动态创建EditText视图。我还创建了一个警报dialog,其中EditText视图。现在,我应该将在警报对话框中键入的文本输入到动态生成的EditText。请帮我..从警报对话框提取值以动态更新生成的EditText

@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

请您详细解释一下您的程序正在做什么?通过引用程序来告诉我们你遇到了什么问题,然后我们会看到。 –

+0

只是我创建了管理员和用户页面。在管理员注册页面中,我已经动态创建了edittext。另外我还创建了一个警告对话框来确认管理员是否准备好添加字段。在alertdialog的编辑文本中输入的文本,同样应该出现在动态生成的编辑文本中。 –

回答

0

的问题似乎是,你的对话框没有第二个文本输入的参考。

您可以在对话框之前创建第二个输入并将其定义为final,在这种情况下,您可以在课程中使用它。在你的积极onClick,您可以拨打:

editTextView.setText(input.getText()); 

总体而言,它会是这个样子:

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

我在哪里写代码? –

+0

@AdityaReddy刚更新我的答案,以显示在哪里。 –

+0

我已经在线性布局下创建了另一个edittext的引用。 @大卫 –

0

EditText是您Dialog这是不对后声明。你应该这样就是EditTextDialog开始前宣布,并当上了“是”按钮,用户点击,即PositiveResponse,您应该添加以下代码:

editTextView.setText(input.getText()); 

这应该做的招。