qq_27665781
qq_27665781
采纳率53.9%
2016-02-23 09:48 阅读 3.7k
已采纳

addview() 后数据不显示

50

图片说明
用addview后出来的效果图 很明显 日历没有出来
图片说明
然后我把代码oncreate改下 其它地方不动
图片说明
然后日历出来了 没有addview能看到是一个日历加了Addview后就看不到数据 这是怎么回事呢
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

10条回答 默认 最新

  • 已采纳
    Mr_dsw Andoter 2016-02-24 07:07

    你的代码写的是真乱,问题出在CanlendarCard类中的

        @Override
        protected void onSizeChanged(int w, int h, int oldw, int oldh) {
            super.onSizeChanged(w, h, oldw, oldh);
            mViewWidth = w;
            mViewHeight = h;
            mCellSpace = Math.min(mViewHeight / TOTAL_ROW, mViewWidth / TOTAL_COL);
            if (!callBackCellSpace) {
                callBackCellSpace = true;
            }
            mTextPaint.setTextSize(mCellSpace / 3);
        }
    

    这里面获取的Height为0,所以导致你添加的时候看不到,因为根本原因是你的布局有问题。最直接的解决办法。直接指定宽度和高度

         <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:layout_marginTop="15dp"
            android:orientation="vertical" >
    
            <android.support.v4.view.ViewPager
                android:id="@+id/vp_calendar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:background="@color/white" >
            </android.support.v4.view.ViewPager>
        </LinearLayout>
    
    点赞 评论 复制链接分享
  • lanlande_vip 农村大代表_ 2016-02-23 09:57

    因为你setContentView了一个布局文件,布局文件里有日历的view把

    你用addview的话是不是需要先setContentView(kk);呢?

    点赞 评论 复制链接分享
  • Mr_dsw Andoter 2016-02-23 09:59

    在Android开发中,通过setContentView设置Activity的显示视图,只有这样Activity才会显示view,然后你在进行addView。
    还有一个问题是你的kk代表什么意思,如果他是一个viewgroup,你需要先设置setContentView,然后findViewById找到kk,然后在添加view即可

    点赞 评论 复制链接分享
  • qklnmc 木木呆呆的阿呆 2016-02-23 10:06

    你的KK 是什么? 你可以在日历上边加一个LinearLayout什么的,然后把LinearLayout定为KK,KK.addView(你的布局)。

    点赞 评论 复制链接分享
  • qq_27665781 qq_27665781 2016-02-23 10:12

    kk就是这个:图片说明

    点赞 评论 复制链接分享
  • Mr_dsw Andoter 2016-02-23 12:44

    这样写:

        protected void onCreate(Bundle savedInstanceState){
            super.onCreate(savedInstanceState);
            XInterface.initTitle(this,R.string.advise,0,null);
            View vv = View.inflate(this,R.layout.advise1,null);
            kk.addView(vv);
            setContentCiew(kk);
            init();
        }
    
    点赞 评论 复制链接分享
  • luochoudan 丑旦 2016-02-23 15:12

    你第一张图里面,日期和星期是不是添加进去了?

    点赞 评论 复制链接分享
  • qq_27665781 qq_27665781 2016-02-24 01:20

    还没有解决 谁来帮帮我啊

    点赞 评论 复制链接分享
  • qq313335420 qq313335420 2016-02-24 05:45

    1.kk这个view没有高度设置 猜测只是wrap_content
    2.日历是绘制上去的 addView之后没有高度的
    解决方法只能是:根据计算得到设置vv的高度
    为什么setContentView可以因为此时的view是有高度的vv的match_parent是有作用的

    点赞 评论 复制链接分享
  • qq_27665781 qq_27665781 2016-02-24 07:21

    我是在addview的时候加了个parmers 是布局问题 高度...

    点赞 评论 复制链接分享

相关推荐