查看ApiDemos中AlertDialogSamples信息,里面有AlertDialog相关源码,AlertDialog中有一个输入框EditText,也有两个输入框的EditText,只是没有把输入的值传递回Activity中。自己总结了一个小例子,如下:
class文件
public class FirstActivity extends Activity{
private Button button;
private TextView view;
private EditText edit;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first);
button = (Button) findViewById(R.id.btnShow);
view = (TextView) findViewById(R.id.textView);
show();
}
private void show()
{
final Builder builder = new AlertDialog.Builder(this)
.setIcon(R.drawable.icon)
.setTitle("提示框")
.setMessage("输入信息")
.setPositiveButton("提交",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
view.setText("您输入的值为:" + edit.getText().toString());
}
});
button.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
edit = new EditText(FirstActivity.this);
builder.setView(edit);
builder.show();
}
});
}
}
对应的xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button android:id="@+id/btnShow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="显示"></Button>
<TextView android:id="@+id/textView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="这里显示返回值"></TextView>
</LinearLayout>
//---------------------------------------------------------------------------------
public class SecondActivity extends Activity{
private EditText nameEditText;
private EditText passwordEditText;
private TextView view;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.first);
view = (TextView) findViewById(R.id.textView);
showRenameCategoryDialog();
}
private void showRenameCategoryDialog() {
//final
LayoutInflater factory = LayoutInflater.from(this);
final View textEntryView = factory.inflate(R.layout.second, null);
final AlertDialog.Builder alert = new AlertDialog.Builder(SecondActivity.this);
alert.setTitle("alert Title");
alert.setView(textEntryView);
alert.setPositiveButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int whichButton) {
nameEditText = (EditText)textEntryView.findViewById(R.id.password_edit);
passwordEditText = (EditText)textEntryView.findViewById(R.id.username_edit);
//setTitle(asdu.getText().toString());
view.setText("第一个值为:"+nameEditText.getText().toString()+"第二个值为:"+passwordEditText.getText().toString());
}
});
alert.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
}
});
//alert.create();
alert.show();
}
}