问题描述
所以我试图创建一个弹出对话框。 这是我在单独的 DialogClass.Java 文件中创建的 Dialog 片段
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.os.Bundle;
import android.widget.Toast;
public class DialogClass extends DialogFragment{
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder newAlertDialog = new AlertDialog.Builder(getActivity());
newAlertDialog.setTitle("Dialog");
newAlertDialog.setMessage("This is a dialog");
newAlertDialog.setPositiveButton(("OK"), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getActivity(), ("You clicked Ok"), Toast.LENGTH_SHORT).show();
}
});
newAlertDialog.setNegativeButton(("Cancel"), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getActivity(), ("You clicked Cancel"), Toast.LENGTH_SHORT).show();
}
});
return super.onCreateDialog(savedInstanceState);
}
}
然后当我使用这个类创建一个方法时,它会在我运行应用程序时给我们带来一个空白对话框。 我是这样使用它的: 注意:myButtinClick 是一种在单击按钮时运行的方法。
public void myButtonClick(View view) {
DialogFragment myFrag = new DialogClass();
myFrag.show(getFragmentManager(), "");
}
请谁能弄清楚我做错了什么?
通过此链接查看对话框外观的屏幕截图。
1楼
您只创建了 Dialog 构建器,而不是 Dialog 本身。
您应该返回newAlertDialog.create()
并将newAlertDialog
重命名为dialogBuilder
或类似的名称。