所以我试图创建一个弹出对话框。这是我在单独的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(), "");
}
请有人知道我做错了吗?
通过此链接查看Dialog的截图。 http://i.stack.imgur.com/xsQQj.png
答案 0 :(得分:0)
您只创建了“对话框”构建器,但没有创建“对话”本身。
您应该返回newAlertDialog.create()
并将newAlertDialog
重命名为dialogBuilder
或类似的内容。