如何动态获取 EditText 宽度并将其设置为 recyclerView 宽度

How to get EditText width dynamically and set it to a recyclerView width

我有一个 edittext,它的宽度设置为 wrap-content.I 我还有一个回收视图,它的宽度设置为 wrap-content。我想让回收站视图宽度等于编辑文本宽度 programmatically.I 在代码下面使用但它不是来自 getMeasuredWidth() 的 working.width returns 不等于编辑文本宽度。

    editText= findViewById(R.id.edit_text);
    editText.measure(0, 0);
    testRecyclerView= findViewById(R.id.employee_recycler_view);
    testRecyclerView.setLayoutManager(new LinearLayoutManager(context));
    ViewGroup.LayoutParams layoutParams =  testRecyclerView.getLayoutParams();
    layoutParams.width =  editText.getMeasuredWidth();
    testRecyclerView.setLayoutParams(layoutParams);

您应该以 <View>.requestLayout() 结束以刷新新尺寸(当前 employeeRecyclerView)。

onCreate() 中的观看次数也未正确衡量。为了获得 editText 宽度,您可以使用 postpostDelayeddoOnPreDraw (onPreDrawListener) 或 viewTreeObserver.