我想创建一个包含一个文本框和两个按钮的警报框。我为此创建了一个布局,其中包含一个EditText
并创建了一个类扩展DialogFragment
类。我已经创建onCreateDialog()
并希望将输入从EditText
数据库发送。我也有数据库处理程序类。我现在想创建一个类的对象,并show()
在需要对话框出现时使用。
onCreateDialog()
这种方法是正确的还是如果我在扩展的类中创建而不是像之前的方法那样创建对象会更好Activity
?
代码片段是:
公共类 AskDialog 扩展 DialogFragment {
private String var = "";
EditText ask;
public void setVar(String var){
this.var = var;
}
@Override
public Dialog onCreateDialog(Bundle savedInstance){
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflator = getActivity().getLayoutInflater();
builder.setView(inflator.inflate(R.layout.ask, null));
builder.setTitle("Not Found").setMessage("XYZ is not found");
final EditText ask = new EditText(this); //Error
builder.setPositiveButton("Save", new OnClickListener(){
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
String ab = ask.getText().toString();
}
});
builder.setNegativeButton("Don't Know", new OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
return null;
}
}
我想通过在 Activity 类中创建一个对象来使用这个类,并使用它的 show(getFragment(), null) 函数。