zoukankan      html  css  js  c++  java
  • Android little error records

    1:在清单文件(Manifest)中加入权限时要注意,如下例:

    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>

    <uses-permission  android:name="android.permission.CHANGE_WIFI_STATE"/>

    而非:

    <uses-permission

    android:name="android.permission.CHANGE_NETWORK_STATE"

    android:name="android.permission.CHANGE_WIFI_STATE"/>

    写成后一种情况将会报如下错误:

    已经为元素 "uses-permission" 指定绑定到名称空间 "http://schemas.android.com/apk/res/android" 的属性 "name"。

    2:Replace "..." with ellipsis character (…, &&;#8230;) ?

    按照提示即可解决,提示的意思即为,用省略号的字符形式(…, &&;#8230;)?替换省略号"..."(这个省略号是由英文状态下输入的三个圆点),其中(…, &&;#8230;)?貌似是一个正则表达式(本人不太确定),解决方法有两个:

    第一种方法:跳到中文输入法下,按shift+^打出省略号

    第二种方法:直接将省略号替换为【&#8230;】

    猜测原因:可能是在字符编码的情况下,省略号可以更好的显示吧

    3:这里记录的只能算是一个小小的经验,不知道有时候你遇到过这样的问题没有,当你引用一个drawable资源,比如图片资源时,你引用后系统报错,说找不到这样的资源,而且有时候你即使把你的图片重命名了也不行,这个时候建议你仔细检查你的图片名称,有时候在图片的名称里面会偶然加入一些空格,英文状态下的空格有时候你不细心去看,还真的难以发现那么一个小小的空格,但是可能这个空格就会一直导致你的编译器给你报错。遇到了这种情况,如果确保了你的命名格式对的话,希望你可以仔细检查一下名字,看看有没有写错。

     4:ADT警告:This tag and its children can be replaced by one <TextView/> and a compound drawable

    下面的解决方案来自:http://stackoverflow.com/questions/3214424/android-layoutopt-this-tag-and-its-children-can-be-replaced-by-one-textview

    以一个例子呈现:

    修改之前的布局文件
    1. <LinearLayout    
    2. android:layout_width="fill_parent"  
    3. android:layout_height="wrap_content"    
    4. android:layout_marginTop="10dp"     
    5. android:padding="5dp" >   
    6.   
    7. <TextView    
    8.     android:layout_width="wrap_content"  
    9.     android:layout_height="wrap_content"  
    10.     android:layout_weight="1"  
    11.     android:text="My Compound Button" />   
    12.   
    13. <ImageView    
    14.     android:layout_width="wrap_content"  
    15.     android:layout_height="wrap_content"  
    16.     android:src="@drawable/my_drawable" />   
    17. </LinearLayout>  
    修改之后的布局文件
     
    1. <TextView     
    2.     android:layout_marginTop="10dp"  
    3.     android:layout_width="fill_parent"  
    4.     android:layout_height="wrap_content"    
    5.     android:text="My Compound Button"    
    6.     android:drawableRight="@drawable/my_drawable" android:padding="5dp" />  

    但有时候,我们或许在一个<Linearlayout>中设置<TextView>   <ImageView>另有他用。一个很好的修改方法就是将<Linearlayout>修改为<RelativeLayout>布局,其次对于 android:drawableRight属性不可以使用,否则将会抛出另一个异常:Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path),因为这个属性对象是drawable。

    下面是一个示例:

     
    1. <?xml version="1.0" encoding="utf-8"?>   
    2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    3.     android:layout_width="match_parent"  
    4.     android:layout_height="match_parent">   
    5.      <ImageView      
    6.         android:id="@+id/image"  
    7.         android:contentDescription="@string/cs"     
    8.         android:layout_width="90dip"     
    9.         android:layout_height="90dip"     
    10.         />     
    11.     <TextView    
    12.         android:id="@+id/title"  
    13.         android:layout_width="wrap_content"     
    14.         android:layout_height="wrap_content"     
    15.         android:layout_below="@id/image"/>   
    16. </RelativeLayout>  

    5:Eclipse警告:Warning:ArrayList is a raw type. References to generic type ArrayList should be parameterized 解决方案超赞(暂未翻译),参见:http://www.cnblogs.com/killerlegend/p/3349663.html

    6:textview cannot be cast to imageview........

    可以尝试的解决方法:Project-->clean,然后重新启动一次程序。

     7:

     Android之 ListView 的setonItemSelectedListener()之item单元点击无效处理方法

    可以考虑换成下面的解决方法:

     
    1. mListView.setOnItemClickListener(new OnItemClickListener()   
    2.       {   
    3.   
    4.         @Override  
    5.         public void onItemClick(AdapterView<?> parent, View view, int position,long id)   
    6.         {   
    7.             Toast.makeText(getApplicationContext(),    
    8.                            "当前所在行为:"+Long.toString(parent.getItemIdAtPosition(position)+1),    
    9.                            Toast.LENGTH_SHORT).show();   
    10.         }   
    11.       });  

    模拟器的鼠标滚动时会触发setItemOnselected()事件,而真机使用的软件,应该用 setItemOnClick().即手指头点击屏幕所出发的事件。

    8:Error:ScrollView can  host only one direct child.......

    意思就是ScrollView中只能有一个直接子代,如果出现两个或者两个以上,那么久会出现错误。你将scrollview中的子代换成一个就解决问题了。

    9:AlertDialog提示错误:android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application

    原因:在使用AlertDialog的时候,如下:

    Dialog dialog = new AlertDialog.Builder(context).
                    setTitle("温馨提示").
                    setIcon(R.drawable.image).
                    setMessage("本应用目前仅支持xxx地区,谢谢您的支持!").create();
    dialog.show();

    出错原因在于AlertDialog.Builder(context)中传入的参数context不正确,传入的context不能由getApplicationContext()获得,而必须是Activity的名字,如果你的Activity的类的名字是Home.java

    那么你在传入context的时候,只需传入Home.this即可。

    10:报错:

     android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?

    在Intent变量中声明FLAG_ACTIVITY_NEW_TASK

    Intent intent = new Intent();
           intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);


    作者:KillerLegend
    出处:http://www.cnblogs.com/KillerLegend/
    分享最新的资源,分享个人所得,欢迎关注我的新浪微博
    新浪微博主页:ikey4u
    我的个人博客:www.ikey4u.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

     
  • 相关阅读:
    web服务器-Apache
    nginx优化
    nginx下载限速
    nginx-URL重写
    HDU 5358 First One 求和(序列求和,优化)
    HDU 5360 Hiking 登山 (优先队列,排序)
    HDU 5353 Average 糖果分配(模拟,图)
    UVALive 4128 Steam Roller 蒸汽式压路机(最短路,变形) WA中。。。。。
    HDU 5348 MZL's endless loop 给边定向(欧拉回路,最大流)
    HDU 5344 MZL's xor (水题)
  • 原文地址:https://www.cnblogs.com/killerlegend/p/3294336.html
Copyright © 2011-2022 走看看