不知不觉学了一年多android了
莫名其妙的遇到了很多问题,可回头想想,有很多问题悬而未决
或者说解决了也忘了O_O
每个问题都写博客总结太麻烦
以后就都总结在这吧,自己记录+分享
蜗速更新中~
(ad for my bloghttp://Libaier.net

解决方案 »

  1.   

    第一个问题:
    今天写程序的时候需要在类之间传数据
    本来用Bundle可以解决,但我觉得传来传去太麻烦,就把全局变量都写成static型的放在了一个const类中,这样用const.***就可以调用了,但自己印象中貌似总是使用全局变量是不太好的,有什么不好呢?
    百度答案:
    1.和局部变量冲突,而且不容易被发现,往往要花N多时间查找.
    2.消耗内存,因为是全局的.
    3.意味着模块划分不好,程序逻辑偶合性太紧,以后修改,维护,扩展会N麻烦.
    4.全局变量一般用来做各个模块和函数的接口,状态不好确定和控制.
    自己解答:
    看了半天还是觉得用几个貌似也没啥问题,以后留意下吧,希望可以遇到被“全局变量害掉”的例子
      

  2.   

    Bundle 是2P 
    const 是群P啊 
    谁知道会P出什么问题
      

  3.   

    第二个问题:使用LayoutInflater加载自定义view抛出异常自己定义了一个MyImageView(extends ImageView),在.xml布局文件中使用到
    但是自己在holder.main_image = (MyImageView) conView.findViewById(R.id.MyImageView1);这句中抛出了
    InvocationTargetException异常,把那个MyImageView改成了ImageView就没问题了。可是自己的MyImageView其实只是继承了ImageView类,并未做修改啊,这个异常有点纠结
    public View getView(int position, View conView, ViewGroup parent) {
    ViewHolder holder; if (conView == null) {

    conView = mInflater.inflate(R.layout.image_adapter, null);

    holder = new ViewHolder();
    try {
    holder.main_image = (MyImageView) conView
    .findViewById(R.id.MyImageView1); } catch (Exception e) {
    // TODO: handle exception
    e.printStackTrace();
    } conView.setTag(holder);
    } else {
    holder = (ViewHolder) conView.getTag();
    } try { holder.main_image.setImageBitmap(photos.get(position).getBitmap()); } catch (Exception e) {
    e.printStackTrace();
    }
    return conView;
    } private class ViewHolder { MyImageView main_image; }
      

  4.   

    这个问题升级了,现在我find普通的textview都出错,真是个纠结的问题
      

  5.   

    第三个问题:findViewById()返回值为null或抛出异常
    这个主要是因为没找到,总结起来就是这句话!为啥没找到,可以看此博客
    http://blog.csdn.net/libaier_gc/article/details/7457456
    (第二个问题基本可以这个解决)
      

  6.   

    第四个问题:解决android图片发生失真现象
    可以使用9.patch对图片进行处理(不过处理之后还是有点失真,图片尺寸也要弄好啊)
    具体可以看
    http://www.apkbus.com/android-15463-1-1.html
    http://blog.csdn.net/xiaominghimi/article/details/6107837