项目1问题

1、List和Json相互转化

       因为要保存List集合到SharedPreferences,而SharedPreferences只能存放基本类型,所以要把List集合转化为Json字符串

       new Gson().toJson(    List集合对象   )//List转Json

       new Gson().fromJson(  json字符串,  new TypeToken<        List集合对象        >() {  }.getType());       //Json转List

2、ListView添加顶部和底部(比如刷新和加载更多按钮)

         这个方法就是addFooterView和addHeaderView。但要注意的是,这两个方法一定要在setAdapter方法之前被调用,不然是显示不出效果的。

       teaListView.addFooterView(footView);

       teaListView.setAdapter(teaListAdater);

      

footViewLayout = (LinearLayout) LayoutInflater.from(
                mContext).inflate(R.layout.my_footview, null);
		load = (Button) footViewLayout.findViewById(R.id.load);
		load.setOnClickListener(this);
		cListView.addFooterView(footViewLayout);

3、设置ListView的item跳到顶部

//两个顺序不能颠倒
cSuppliersInfoAdapter.notifyDataSetChanged();
 cListView.setSelection(0);    
     

4、动态设置ListView的高度

public void setListViewHeightBasedOnChildren(ListView listView,int LoadFlag) {  
        
        ListAdapter listAdapter = listView.getAdapter();  
        
        if (listAdapter == null) {  
         return;  
        }  
        
        int totalHeight = 0;  
        
        if (LoadFlag==0) {
        	for (int i = 0; i < 3; i++) {  
                View listItem = listAdapter.getView(i, null, listView);  
                listItem.measure(0, 0);  
                totalHeight += listItem.getMeasuredHeight();  
               } 
		}else if (LoadFlag==1) {
			for (int i = 0; i < listAdapter.getCount(); i++) {  
		         View listItem = listAdapter.getView(i, null, listView);  
		         listItem.measure(0, 0);  
		         totalHeight += listItem.getMeasuredHeight();  
		        }  
		}
        
        ViewGroup.LayoutParams params = listView.getLayoutParams();  
        
        params.height = totalHeight  
          + (listView.getDividerHeight() * (listAdapter.getCount() - 1));  
        
        //((MarginLayoutParams) params).setMargins(10, 10, 10, 10); // 可删除  
        
        listView.setLayoutParams(params);  
       }  

5、解决三星拍照旋转,检测到data为null

       在注册清单文件时加上下面这两句

     android:screenOrientation="portrait"
     android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|navigation"

6、透明度

    

7、EditText中动态设置明文、密文的切换

        1.  EditText  edt = new EditText(context);
            密文:edt.setTransformationMethod(PasswordTransformationMethod.getInstance());
           明文:edt.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
    
      2. 
            明文: edt.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
           密文: edt.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);

      3、.setInputType(0x81)    //EditText变为密码状态。
             .setInputType(0x90)    //EditText变为非密码状态。

8、查看秘钥内容

     打开cmd切换到目录输入  keytool -list -keystore debug.keystore

9、Class.getSimpleName()的作用

<pre id="best-content-2001651642" class="best-text mb-10">//Class类,是获取类的类模板实例对象,通过反射的机制获取。
///根据<a target=_blank rel="nofollow" href="https://www.baidu.com/s?wd=API&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3n1TLmhNBmHTvnj9-uWP90AP8IA3qPjfsn1bkrjKxmLKz0ZNzUjdCIZwsrBtEXh9GuA7EQhF9pywdQhPEUiqkIyN1IA-EUBtknWn4P1nvnW03nWRYnW64P1n4" target="_blank" class="baidu-highlight">API</a>中的定义,Class.getSimpleName()方法是获取<a target=_blank rel="nofollow" href="https://www.baidu.com/s?wd=%E6%BA%90%E4%BB%A3%E7%A0%81&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3n1TLmhNBmHTvnj9-uWP90AP8IA3qPjfsn1bkrjKxmLKz0ZNzUjdCIZwsrBtEXh9GuA7EQhF9pywdQhPEUiqkIyN1IA-EUBtknWn4P1nvnW03nWRYnW64P1n4" target="_blank" class="baidu-highlight">源代码</a>中给出的‘底层类’简称
//而Class.getName();以String的形式,返回Class对象的‘实体’名称

public class sample{ public static void main(String[] args){ //得到类的简写名称 System.out.println(sample.class.getSimpleName()); //得到对象的全路径 System.out.println(sample.class); //得到对象的类模板示例,也就是Class System.out.println(sample.class.getClass()); //得到Class类的名称 System.out.println(sample.class.getClass().getName()); } }打印结果为:sampleclass com.lovo.test.sampleclass java.lang.Classjava.lang.Class

 


 


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值