当前位置: 首页 > 知识库问答 >
问题:

具有多个文本视图的对话框

汪欣德
2023-03-14

我需要在我的代码中添加5个文本视图。目前只有一个,它用于在谷歌地图中放置标记。我希望除此之外,你还可以插入另外4个数据插入,如(描述、年龄、工作、爱好)。下面我还放了我制作的自定义对话框,你可以检查一下吗?随意要求任何东西。我该怎么办?

    add_address.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                   
                    final EditText editText = new EditText(requireContext());
                    alertDialog = new AlertDialog.Builder(requireContext());
    
                    alertDialog.setView(editText);
                    alertDialog.setTitle("Address");
                    alertDialog.setPositiveButton("Ok", (dialogInterface, i) -> {
                        String address = editText.getText().toString();
                        firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
                        reference = FirebaseDatabase.getInstance().getReference("Users").child(firebaseUser.getUid()).child("address");
                        reference.setValue(address);
                    });
                    alertDialog.setNegativeButton("Cancel", null);
                    alertDialog.create().show();
                    
                }
            });

Customdialog.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Text 1"
        android:id="@+id/Description" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Text 2"
        android:id="@+id/Age" />

    <EditText
        android:id="@+id/Hobby"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:hint="Text 3" />

    <EditText
        android:id="@+id/City"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Text 4" />
    <EditText
        android:id="@+id/Marker"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Text 5" />
</LinearLayout>

共有1个答案

邵宜年
2023-03-14

您必须提供自己的自定义视图,然后必须使用findViewByID()检索EditText

View view = getLayoutInflater().inflate(R.layout.custom_dialog, null);
EditText edt1 = view.findViewById(R.id.Description);
// get other EditTexts here
final Dialog alertDialog = new Dialog(activity);
alertDialog.setView(view);
alertDialog.setPositiveButton("Ok", (dialogInterface, i) -> {
    String description = edt1.getText().toString();
    //other stuff
});

从您自己的代码中采样

add_address.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        View view = getLayoutInflater().inflate(R.layout.custom_dialog, null);
        EditText edt1 = view.findViewById(R.id.Description);
        // get other EditTexts here
        final Dialog alertDialog = new AlertDialog.Builder(requireContext())
            .setView(view)
            .setPositiveButton("Ok", (dialogInterface, i) -> {
        String description = edt1.getText().toString();
        Toast.makeText(requireContext(), description, Toast.LENGTH_SHORT).show();
        //other stuff
    })
    .create();
    alertDialog.show();
});
 类似资料:
  • 问题内容: 我尝试使用2个视图解析器: 该应用程序始终仅使用顺序最低的一个,而不使用另一个。在当前情况下,如果我的控制器返回“ someView”,则The requested resource (/MyProject/WEB-INF/views/someView.jsp) is not available.即使存在“ pages / someView.xhtml” ,应用也会响应。 Spring

  • 我的问题是--如何创建自定义列表视图,而不仅仅是重复一个自定义视图,而是像在Instagram或其他应用程序中,列表包括其他视图,这看起来就像滚动视图和列表视图android其他视图一样,但Roman Guy说“在滚动视图中的列表视图是一种非常糟糕的方式”,我同意这一点,不要相信谷歌使用这种方式... 使用ListView或Recolyer View实现此功能的最佳方法是什么

  • 问题内容: 我必须在Android中构建更复杂的自定义视图。最终布局应如下所示: 但是,我只想在XML文件中定义它(不定义SomeView,SomeOtherView等): 这在Android中可行吗?如果可以,那么最干净的方法是什么?我想到的可能解决方案是“重写addView()方法”和“删除所有视图并在以后再次添加它们”,但是我不确定该走哪条路… 在此先感谢您的帮助!:) 问题答案: 绝对有可

  • 我正在我的网站上使用CKEditor,我想更改图像->属性->预览到英语中的文本。 我想更改这段文字: Lorem ipsum dolor sit amet,consectetuer adipiscing elit.梅塞纳斯·费吉亚特·内瓦特·迪亚姆。梅特斯。活体活体,身体不适,身体不适,身体不适,身体不适,身体不适,身体不适,身体不适,身体不适,身体不适。爱尔兰口令。Nunc iaculis,n

  • 我在我的应用程序中使用了具有多个视图的回收器视图。这工作正常,但我有一个问题,滚动这个回收视图!当我想上下滚动时,它有滞后现象。这是我的回收器视图适配器: 这个回收器视图有6种以上的视图类型,我必须显示,但是当回收器视图中的项目增加时,我在上下滚动时会有很大的延迟。我不知道为什么我在滚动上有延迟!我真的很感谢你的帮助。

  • 问题内容: 我正在使用基于SDK演示示例中EfficientAdapter示例的BaseAdapter扩展版本。 我的数据基本上是一个对象(),其中包含一个,其中包含实际的地点列表,可通过访问。此ArrayList数据按范围排序,由一些特殊项目(分隔符)组成,没有数据,但标志设置为。 现在,每当我得到一个作为分隔符的数据对象时,它都会返回并根据当前数据对象是由真实数据组成还是仅仅是分隔符虚拟物来使