我动态创建了EditText
个视图。我还创建了一个dialog
视图的提醒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)
问题似乎是您的对话框没有对第二个文本输入的引用。
您可以在对话框之前创建第二个输入并将其定义为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 */
答案 1 :(得分:0)
EditText
在Dialog
错误之后宣布。你应该这样做EditText
应该在Dialog
开始之前声明,当用户点击“是”按钮,即PositiveResponse时,你应该添加以下代码:
editTextView.setText(input.getText());
这应该可以解决问题。