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

标签 java android android-recyclerview android-edittext

我有一个编辑文本,其宽度设置为换行内容。我还有一个回收器 View ,其宽度设置为换行内容。我想让回收器 View 宽度等于以编程方式编辑文本宽度。我使用了下面的代码,但它不起作用。从 getMeasuredWidth() 返回的宽度不等于 edittext 宽度。

    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() 中的 View 未正确测量。为了得到editText您可以使用的宽度 post , postDelayed , doOnPreDraw ( onPreDrawListener ) 或 viewTreeObserver .

关于java - 如何动态获取EditText宽度并将其设置为recyclerView宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70347954/

相关文章:

java - 在JAVA中实现AbstractTableModel时出现异常?

java - 如何在hibernate中实现继承?

java - 使用 JPA2 Criteria API 查询字符串子集

android - FCM 通知 click_action 应该重定向到打开浏览器

android - 使用数据绑定(bind)时如何设置嵌套的回收器 View 适配器?

java - 如何在Spring集成上设置默认的传出端口和监听端口?

android - 如何在android中使用选择器创建自定义形状按钮?

android phonegap 应用程序在加载太多 javascript 时失败

android - RecyclerView 与 reverseLayout "jumps"在 notifyDataSetChanged

android - 使用Retrofit2和recyclerview进行嵌套JSON,响应不兼容