Android 从AlertDialog获取子视图
我有以下Android 从AlertDialog获取子视图,android,android-layout,Android,Android Layout,我有以下AlertDialog及其onClick方法: final AlertDialog.Builder alertDialog = new AlertDialog.Builder(this); alertDialog.setView(View.inflate(this, R.layout.barcode_alert, null)); alertDialog.setPositiveButton("Search", new DialogInterface.OnClickListener() {
AlertDialog
及其onClick
方法:
final AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
alertDialog.setView(View.inflate(this, R.layout.barcode_alert, null));
alertDialog.setPositiveButton("Search", new DialogInterface.OnClickListener() {
@Override
public void onClick(@NotNull DialogInterface dialog, int which) {
// how to get editTextField.getText().toString(); ??
dialog.dismiss();
}
});
我在对话框(barcode\u alert.XML
)中膨胀的XML包含一个EditText
字段,我需要在用户点击搜索按钮后获取其字符串值。
我的问题是,如何获取该字段的引用,以便获取其文本字符串?试试这个
final AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
final View v = getLayoutInflater().inflate(this, R.layout.barcode_alert, null);
final EditText editTextField = (EditText) v.findViewById(R.id.edit_text);
editTextField.setOnClickListener(MyActivity.this);
alertDialog.setView(v);
alertDialog.setPositiveButton("Search", new DialogInterface.OnClickListener() {
@Override
public void onClick(@NotNull DialogInterface dialog, int which) {
String enteredValue = editTextField.getText().toString(); // get the text from edit text
dialog.dismiss();
}
});
您可以膨胀视图并获取对变量的引用:
View v = View.inflate(this, R.layout.barcode_alert, null);
您可以使用findViewById
获取视图的引用。确保您的变量是最终变量或成员变量。否则,您无法在onClickListener中访问它
final EditText editText = (EditText)v.findViewById(R.id.your_edit_text
就这样!我缺少从视图中拉出
EditText
的功能。
final EditText editText = (EditText)v.findViewById(R.id.your_edit_text