如何解决我如何从android自定义对话框中的视图字段中获取数据
我通过以下方式创建了一个自定义警报对话框
public class CustomDialogBoxForNewEmploy extends Dialog implements android.view.View.OnClickListener {
Button ok,cancel;
String name = "",id = "";
public CustomDialogBoxForNewEmploy(@NonNull Context context) {
super(context);
}
@Override
public void onClick(View view) {
if(view.getId() == R.id.okButton){
name = ((EditText)findViewById(R.id.employName)).getText().toString();
id = ((EditText)findViewById(R.id.employId)).getText().toString();
}else{
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.custom_dialog_new_employ);
ok = findViewById(R.id.okButton);
cancel = findViewById(R.id.cencelButton);
ok.setOnClickListener(this);
cancel.setOnClickListener(this);
}
}
当一个按钮被点击时我会调用它
private void registerNewEmploy(View view){
CustomDialogBoxForNewEmploy temp = new CustomDialogBoxForNewEmploy(getContext());
temp.show();
}
但是现在我怎样才能获得两个文本视图中的数据 如果我写 字符串 x = temp.id;它将是空的
我该怎么做?
解决方法
你需要一个接口。创建一个如下所示的界面
interface DialogEventListener {
onSubmit(String id,String name);
}
那么您必须在显示此对话框的活动或片段中实现此接口。
您可以将此接口作为参数传递给 CustomDialogBoxForNewEmploy。 所以你的新构造函数看起来像这样
private DialogEventListener listener;
public CustomDialogBoxForNewEmploy(@NonNull Context context,DialogEventListener listener) {
super(context);
this.listener = listener
}
从对话框的onCLick方法中,可以调用这个接口方法
,接下来添加到自定义对话框
public String getName(){
return name;
}
public String getId(){
return id;
}
在另一个班级
CustomDialogBoxForNewEmploy temp = new CustomDialogBoxForNewEmploy(getContext());
temp.show();
String output = temp.getName();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。