• android 总结


    1)重写BaseAdapter的getView方法时,为了性能要使用ViewHolder和convertView

                View v = null;
                ViewHolder viewHolder;
                
                if( convertView == null ) {//没有缓存时候
                    v = View.inflate(MainActivity.this, R.layout.item, null);
                    viewHolder = new ViewHolder();
                    viewHolder.title = (TextView)v.findViewById(R.id.title);             
    v.setTag(viewHolder); //把viewholder作为tag放入v中      } else { v = convertView;//直接把带viewholder的tag的缓存赋值给v viewHolder = (ViewHolder) v.getTag();//从里面取出tag } viewHolder.title.setText(newsList.get(position).getTitle()); return v;    //返回v之后,滑出屏幕作为缓存,里面有viewholder tag

    2)使用sharedPreference 最后一定要执行.commit().否则不会生效.

            SharedPreferences sp = getSharedPreferences("abc", MODE_PRIVATE);
            sp.edit().putString("ipNumber", string).commit();

    3)使用XmlPullParser解析XML文件

     1         XmlPullParser xp = Xml.newPullParser();
     2         try {
     3             xp.setInput(is,"utf-8");//这个容易忘
     4             int type = xp.getEventType();            
     5             while(type != XmlPullParser.END_DOCUMENT) {
     6           //解析的代码
                .... 7 type = xp.next();//这个容易忘 8 } 9 } catch (Exception e) { 10 // TODO Auto-generated catch block 11 e.printStackTrace(); 12 }

    4)自定义旋转,移动的动画之后,要注意按钮消失的地方还是可以点击的,所以要把按钮设置为setEnable(false);

    然后在让按钮现实的代码里加上setEnable(true);

     5)点击按钮,执行动画,  当快速点击时,会多次执行动画,  所以要保证:等动画执行完才能执行新动画.

    可以定义一个static变量,用于记录当前执行的动画数量,

    当数量不为0时,时间监听函数直接return

  • 相关阅读:
    Balance_01背包
    4 Values whose Sum is 0_upper_bound&&ower_bound
    Newspaper Headline_set(upper_bound)
    lower_bound和upper_bound算法
    Blocks_DP&&矩阵快速幂
    All X_数的快速幂
    Training little cats_矩阵快速幂
    Raising Modulo Numbers_快速幂取模算法
    Defining Python Source Code Encodings
    Python ord(char)
  • 原文地址:https://www.cnblogs.com/soildong/p/4639226.html
Copyright © 2020-2023  润新知