项目总结

1.先阐述问题我的布局是 Activity(ViewGroup)----Fragment(ViewPager)----Fragment(ViewGroup)
我想在第一个Fragment中添加多个Fragment(第二个)
 adapter = new OpenFragmentAdapter(getFragmentManager(),datas);
pager.setAdapter(adapter);
它显示出来的位置完全不正确,它显示为Activity界面之上
后来将adapter中的第一个参数改为getChildFragment后显示完全正确。

总结:
 在Fragment中:
   1》getFragmentManager:它是获取它所依附Activity中的FragmentManger
   2》getChildFragmentManager:它才是获取它自己上面的FragmentManger(百度下)



2.Gson的使用:当遇到{"flag":"0" "info":{"push1":[......],"push2":[....]} }它有可能解析出来的push1和push2位空
 这时我们就要进行一定改造:
  1》我们先获取出它的String,
  2》利用JsonObject.getString("info")来获取字符串格式为:
    {"push1":[....],"push2":[....]}
  3》将里面的类改为
      class HotBean{
       private List<Push1Entity> push1;   private List<Push2Entity> push2;
       public class Push1Entity{.....}
       public class Push2Entity{.....}
      }
   4》然后调用 new Gson().fromJson(str,HotBean.class);

总结:
   Gson它只能最多解析两层 info--push1--字段 (这有了三层了,取出的结果为空。所以要进行适当的改造下)



3.在使用适配器Adapter时我们最后在getCount时使用: datas==null?0:datas.size();



4.如何在TextView在java代码中动态添加Drawable:
    Drawable drawable = context.getResources().getDrawable(R.id.ic_laucher);
    drawable.setBounds(0,0,drawable.getMinimumWidth(),drawable.getMinimumHeight());
    textView.setCompoudDrawables(drawable,null,null,null);


5.是最坑的,到现在我是解决了当时我还是没用知道它为什么
  我想在图片的下面显示二行文字。我使用的是相对布局先是图片占满,然后是文字在底部,再加一个文字在底部文字的上面然而没显示
  最后是采用线性布局把这两个TextView包裹起来,然后把这个线性布局设置到顶部(OK它们都正常显示)




6.如何实现在TextView中显示不同的字体颜色?
        String str = "剩余:"+bean.getNumber();
        SpannableStringBuilder style=new SpannableStringBuilder(str);
        //str代表要显示的全部字符串 
        //3代表从第几个字符开始变颜色,注意第一个字符序号是0.
        //8代表变色到第几个字符(注意它不包括那个).
        style.setSpan(new ForegroundColorSpan(Color.RED),3,str.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);



7,如何判断ScrollView是否滑到底:
   scrollView.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
            @Override
            public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
                View childView = v.getChildAt(0);
                //项目总结
                if (childView  != null && childView .getMeasuredHeight() <= v.getScrollY() + v.getHeight()){
                  
                }
            }
        });

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值