android-Horizo​​ntalScrollView.getMeasuredWidth()返回0

android-Horizo​​ntalScrollView.getMeasuredWidth()返回0,第1张

概述我正在以编程方式添加horizo​​ntalScrollView,但是当我尝试执行horizo​​ntalScrollView.getMeasuredWidth()时,它始终返回0.voidaddCategory(StringcatTitle){mVideos=mShows.get(catTitle);LinearLayouttheLayout=(LinearLayout)findViewById(R.id.activi

我正在以编程方式添加horizo​​ntalScrollVIEw,但是当我尝试执行horizo​​ntalScrollVIEw.getMeasureDWIDth()时,它始终返回0.

voID addcategory(String catTitle) {    mVIDeos = mShows.get(catTitle);    linearLayout theLayout = (linearLayout)findVIEwByID(R.ID.activitymain);    TextVIEw textvIEw=(TextVIEw)getLayoutInflater().inflate(R.layout.categoryTitle,null);    textvIEw.setTextcolor(color.CYAN);    textvIEw.setTextSize(20);    textvIEw.setText(catTitle);   horizontalscrollview horizontalScroll = new horizontalscrollview (this,null);    linearLayout LL = new linearLayout(this);    LL.setorIEntation(linearLayout.HORIZONTAL);    LayoutParams LLParams = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);    LL.setLayoutParams(LLParams);    HorizontalgalleryAdapter adapter = new HorizontalgalleryAdapter(this,mVIDeos);    for (int i = 0; i < adapter.getCount(); i++) {          VIEw item = adapter.getVIEw(i, null, null);          LL.addVIEw(item);    }    horizontalScroll.addVIEw(LL);    int maxScrollX = horizontalScroll.getChildAt(0).getMeasureDWIDth()-horizontalScroll.getMeasureDWIDth();    AlertDialog alertDialog = new AlertDialog.Builder(this).create();    alertDialog.setTitle("reset...");    String max= String.valueOf(maxScrollX);

解决方法:

好的,我看到了问题.您创建一个Horizo​​ntalScrollVIEw,向其添加一个子项,然后立即尝试获取其测量的宽度.

你不可以做这个.您必须先将水平滚动视图添加到活动中现有的已绘制视图中,因为否则还没有设置尺寸.

想想看如何知道WRAP_CONTENT在您将其放置在视图中之前将尺寸设置为多少像素?如果将其添加到活动中的现有视图中,则该WRAP_CONTENT实际上将转换为某个高度.

看起来有点像一个循环-horizo​​ntalScroll的尺寸取决于其内容(WRAP_CONTENT),而内容的尺寸(linearLayout的尺寸)取决于horizo​​ntalScroll的尺寸.这根本不符合逻辑.也许尝试MATCH_PARENT至少获取水平滚动视图的宽度尺寸.然后,确保在绘制视图之前不要查看尺寸.

总结

以上是内存溢出为你收集整理的android-Horizo​​ntalScrollView.getMeasuredWidth()返回0全部内容,希望文章能够帮你解决android-Horizo​​ntalScrollView.getMeasuredWidth()返回0所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1077421.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存