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

当RecyclerView在对话框中时,不显示Divider

梁豪
2023-03-14
    myAdapter = MyAdapter();
    var lm = LinearLayoutManager(this.context)
    myRecyclerView.layoutManager = lm;
    myRecyclerView.adapter = myAdapter;
    var line = DividerItemDecoration(this.context, lm.orientation);
    myRecyclerView.addItemDecoration(line);
class MyDialogue:Dialog
{
    constructor(context: Context?) : super(context)
    {
        setContentView(R.layout.my_dialogue);
        window.setLayout(
                ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);

        //That code above.
    }
val a = context!!.theme.obtainStyledAttributes(
               R.style.AppTheme, intArrayOf(android.R.attr.listDivider));
val attributeResourceId = a.getResourceId(0, 0)
val drawable = context.getDrawable(attributeResourceId)
line.setDrawable(drawable);
a.recycle();

共有1个答案

秦经义
2023-03-14

ListDivider在默认对话框主题中设置为null,这可能是因为AlertDialog列表不应该有分隔符。您可以通过将不同的主题传递给DividerItemDecory来重写特定对话框。所以不是:

DividerItemDecoration(this.context, lm.orientation)

使用此:

DividerItemDecoration(ContextThemeWrapper(this.context, R.style.AppTheme), lm.orientation)

其中AppTheme是应用程序的整体主题。

 类似资料:
  • 我在对话框中遇到WebView的问题。我尝试过许多不同的技巧,但都没有奏效。所以,我的问题是我无法在自定义对话框中加载WebView。它打开对话框,不会给出任何错误,但对话框不会“填充”web视图。它只是显示一个对话框的标题。 AlertDialog.Builder确实在对话框中打开webview,但单击输入字段时不会打开键盘。如果我打开键盘,它会出现在对话框后面。(这似乎是众所周知的bug...

  • 嗨,我是primefaces的新手,我对数据表中显示的值有一些问题。我从sql数据库加载数据,并在dataTable中显示这些数据。有一个柱子叫做“评论”,里面有一个按钮。如果你点击这个按钮,就会打开一个对话框。在这个对话框框架内,也应该有一些与我在dataTable中显示的相同的值,但它不起作用。我无法显示该对话框框中的值。我在谷歌上搜索了很多次,也尝试了很多次,但都无济于事。下面是xhtml:

  • 我正在制作一个应用程序,要求用户为定期事件选择时间和星期几。我已经实现了一个 对话框,但我似乎找不到一个用于选择星期几的对话框。我试过,但这仅适用于月份中的某一天。我能做什么?

  • 以下是代码: 但是当我删除时,它工作得很好,但是我也想在确认对话中显示MS访问的名称,然后根据yes no选项,我希望我的进一步代码被处决。 完整的源代码是:

  • 问题内容: 我正在创建用于更改图像的对话框。而不是让用户单击文件输入字段,而是希望立即显示它。输入字段只是一个: 页面加载时是否有显示方式? 如果有一个角度的方法可以做到这一点。 问题答案: 如此处所述,仅InternetExplorer允许以编程方式打开“文件上传”对话框。因此,简短的答案是“否”,没有办法在页面加载时自动打开“文件上传”对话框。 您可能会考虑的长答案是,当用户单击任何内容时都可

  • 我有一个使用swing的Java应用程序。我找到了一种方法来捕捉应用程序中所有未捕获的异常(见下文)。我想记录一条消息,为用户显示一个带有消息的对话框,并终止应用程序。问题是,我试图捕捉的是一些swing异常。由于Swing线程已停止,因此无法在UncaughtExceptionHandler中捕获异常后尝试显示对话框。有没有办法显示一个对话框?创建一个新的swing线程或类似的东西? 谢谢