android-fragments 创建自定义对话框(android示例错误?)

ercv8c1e  于 2022-11-14  发布在  Android
关注(0)|答案(3)|浏览(144)

一直在尝试创建客户对话框,我从安卓网站复制了源代码。我工作了几件事,现在我真的卡住了。我不知道代码中的LoginFragment是什么:

...
public class start extends Activity{
Button buttonx;
final Context context = this;
LayoutInflater mInflater;

@Override
protected void onCreate (Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.menu);
}

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    AlertDialog.Builder builder = new AlertDialog.Builder(context);
    // Get the layout inflater
    //LayoutInflater inflater = getActivity().getLayoutInflater();
    mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    // Inflate and set the layout for the dialog
    // Pass null as the parent view because its going in the dialog layout
    builder.setView(mInflater.inflate(R.layout.login, null))
            // Add action buttons
            .setPositiveButton(R.string.signin, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int id) {
                    // sign in the user ...
                }
            })
            .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {

                    LoginDialogFragment.this.getDialog().cancel();
                }
            });
    return builder.create();
}

当我//注解掉这一行时,它说@Override是不必要的,这并不能解决任何问题。

pw9qyyiw

pw9qyyiw1#

看看这篇关于android开发者的文章,对我有用很多次。
http://developer.android.com/guide/topics/ui/dialogs.html
这里还有一个简单的例子:
http://www.mkyong.com/android/android-custom-dialog-example/

t3psigkw

t3psigkw2#

我想你可能已经发现LoginFragment是一个片段,所以你必须创建一个新的类,并用Fragment类扩展它。在那里你可以把你的代码onCreateDialog()。然后按照步骤如何显示它。
你要用这段代码来展示它-

DialogFragment newFragment = new LoginFragment();
newFragment.show(getSupportFragmentManager(), "login");

参考rochasdv分享的link,你会得到一个更好的想法。如果遗漏了什么,请问我。

uplii1fm

uplii1fm3#

为要在对话框中显示的视图创建一个布局文件。假设您希望在对话框中显示文本视图和按钮:
dialog_box.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<TextView
    android:id="@+id/textview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:textSize="17sp"
    android:layout_margin="20dp"/>

<Button
    android:id="@+id/button"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:textSize="17sp"
    android:layout_margin="20dp"/>

在java文件中:

Dialog d = new Dialog(this);
    d.setTitle("No Places found");
    d.setContentView(R.layout.dialog_box);
    d.getWindow().getAttributes().width = WindowManager.LayoutParams.FILL_PARENT;
    d.show();

祝你好运

相关问题