精华内容
下载资源
问答
  • 写布局在Android开发中是最重要也是非常麻烦的一件事,不仅会耗费Android开发者的大量时间,而且初始化控件,写findViewById去类型转换也是非常耗时的,今天就告诉你一个小窍门,通过泛型来简化findViewById类型转换...

    写布局在Android开发中是最重要也是非常麻烦的一件事,不仅会耗费Android开发者的大量时间,而且初始化控件,写findViewById去类型转换也是非常耗时的,今天就告诉你一个小窍门,通过泛型来简化findViewById类型转换。

    具体做法如下

    1创建一个基类,BaseActivity并继承Activity

    方法如下:

    public class BaseActivity extends Activity {

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    }

    protected T generateFindViewById(int id) {

    //return返回view时,加上泛型T

    return (T) findViewById(id);

    }

    }

    2自己写的Activity都去继承BaseActivity

    之后我们自己写的每一个Activity都去继承BaseActivity,然后在初始化控件时直接使用generateFindViewById来代替findViewById即可。

    这个问题,可能只存在于还在用eclipse开发,或者是使用了Android Studio之后,但是不会使用ButterKnife Zelezny 这个工具的的童鞋,学习了这个小窍门之后,你就能摆脱这样的痛苦,提高自己的开发效率。

    展开全文
  • 泛型简化findViewById类型转换

    千次阅读 2015-08-20 23:52:14
    也是相当麻烦的一件事就是写布局,对于Android开发者来说,写布局耗费了大量时间,然后初始化控件,写findViewById去类型转换也是耽误了很多时间,今天就告诉你一个小窍门,通过泛型来简化findViewById类型转换。...

     

    我相信在移动开发最重要的一件事,也是相当麻烦的一件事就是写布局,对于Android开发者来说,写布局耗费了大量时间,然后初始化控件,写findViewById去类型转换也是耽误了很多时间,今天就告诉你一个小窍门,通过泛型来简化findViewById类型转换。

     

     


     

    其实这个问题,可能只存在于还在用eclipse开发的同学,或者是使用了Android Studio之后,但是不会使用ButterKnife Zelezny 这个工具的同学,当然学习了这个小窍门之后,你就能摆脱这样的痛苦,提高自己的开发效率。

     

    具体做法如下

     


     

    1创建一个基类,BaseActivity并继承Activity

     


    方法如下:

    public class BaseActivity extends Activity {

      @Override

      protected void onCreate(Bundle savedInstanceState) {

          super.onCreate(savedInstanceState);

      }

      protected <T extends View> T generateFindViewById(int id) {

          //return返回view时,加上泛型T

          return (T) findViewById(id);

      }

    }

     


     

    2自己写的Activity都去继承BaseActivity

     

    之后我们自己写的每一个Activity都去继承BaseActivity,然后在初始化控件时直接使用generateFindViewById来代替findViewById即可。

     

     

      loonggg大神的博客都快被我搬空了。。不过他的文章真的写的很不错,通俗易懂,对我的帮助也很大。

       本文转自 http://www.apkbus.com/blog-47151-59327.html   谢谢作者~

    展开全文
  • 也是相当麻烦的一件事就是写布局,对于Android开发者来说,写布局耗费了大量时间,然后初始化控件,写findViewById去类型转换也是耽误了很多时间,今天就告诉你一个小窍门,通过泛型来简化findViewById类型转换。...

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    开发小窍门

    我相信在移动开发最重要的一件事,也是相当麻烦的一件事就是写布局,对于Android开发者来说,写布局耗费了大量时间,然后初始化控件,写findViewById去类型转换也是耽误了很多时间,今天就告诉你一个小窍门,通过泛型来简化findViewById类型转换。

    其实这个问题,可能只存在于还在用eclipse开发的同学,或者是使用了Android Studio之后,但是不会使用ButterKnife Zelezny 这个工具的同学,当然学习了这个小窍门之后,你就能摆脱这样的痛苦,提高自己的开发效率。

    具体做法如下

    1.创建一个基类,BaseActivity并继承Activity方法如下:

    public class BaseActivity extends Activity {

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    }

    protected T generateFindViewById(int id) {

    //return返回view时,加上泛型T

    return (T) findViewById(id);

    }

    }

    2.自己写的Activity都去继承BaseActivity之后我们自己写的每一个Activity都去继承BaseActivity,然后在初始化控件时直接使用generateFindViewById来代替findViewById即可。

    哈哈,看完是不是非常简单啊?赶紧用起来吧,这种小窍门我一般不告诉别人哦!哈哈……

    展开全文
  • findViewById类型转换异常Casting

    千次阅读 2017-11-16 18:21:04
    升级Android studio为最新版3.0后,在项目初始化控件使用findViewById时, 出现下面代码中的情况 : tv = findViewById(R.id.textView); 此时as没有提示代码错误; 按照经常写代码的习惯,都会写为tv = (TextView...

    升级Android studio为最新版3.0后,在项目初始化控件使用findViewById时,

    出现下面代码中的情况 : tv = findViewById(R.id.textView);   此时as没有提示代码错误;

    按照经常写代码的习惯,都会写为tv = (TextView)findViewById(R.id.textView); 

    此时将此行代码改为: tv = (TextView)findViewById(R.id.textView); 


    as提示  Casting  ' findViewById(R.id.textView) ' to TextView is redundant


    问题出现原因:

    build.gradle(Module:app) 文件中,compileSdkVersion 26 , 问题就出在这里;


    查找资料后才知道, android 从 API 26 之后,使用findViewById 可以直接写为 tv = findViewById(R.id.textView) ;

    将 build.gradle(Module:app) ---》 compileSdkVersion 从26改为25;(为什么要改为25,因为25之前不会出现此情况,改为小于等于25的数字都可以)

    点击 Sync Now后 ,再去看原来书写的代码,就会变成大家熟悉的

     tv = (TextView)findViewById(R.id.textView)。此时此行代码下方有条红线,直接Alt + Enter会提示:Cast to 'android.widget.TextView', 导入TextView即可。



    展开全文
  • 曾经老用findViewById,每次使用还得add cast一下今天看到一个视频(依据视频中使用的IDE判断,应该是几年前的视频了..),使用了一个方法,能够不用每次使用findViewById都去add cast. 我依据视频中的写法进行优化,详细...
  • Android开发小窍门通过泛型简化findViewById类型转换 定义方法 public class BaseActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate...
  • 在做Android时通过findViewById时返回的是View对象,所以我们必须再进行显示类型转换将view转化为对应的类型对象,那么怎样省略这一步骤呢(假如要通过findViewByID获得大量的控件)我们可以泛型来帮助进行类型推导...
  • FindViewById无需转换类型 进口 将其添加到项目库的末尾的build.gradle中: repositories { // ... maven { url " https://jitpack.io " } } 步骤2.在表单中添加依赖项 dependencies { compile ' ...
  • 使用findViewById 时基本上都需要在前面加对象,进行类型转换 eg: txt = (TextView) findViewById (R.id.txt); 原因:findViewById( )这个方法默认的返回值类型是View,所以要根据需求进行适当的类型转换。
  • 1 描述从 version 26 开始,...对于开发者来说,喜大普奔的好处当然是以后终于可以不用在每个 finViewById 方法前面加个丑陋的类型强转了。 但是福兮祸兮,好事的背后也难免会有一些不如意的地方。比如,如果你在...
  • Android Studio 开发app时, findViewById 输入后多数情况下要强制转换,以下有个快捷的方法: 在输入 分号; 前, Alt + Enter 注意,如果在 输入 分号之后再按快捷键, 将没有效果。这时需要将光标退回至分号前...
  • * 省去类型转换 将此方法写在基类Activity */ protected <T extends View> T $(int id) { return (T) super.findViewById(id); } /** 初始化FindViewById tv1=$(R.id.cs_id1); tv2=$(R.id.cs_id2); tv...
  • 在关联配置文件时 :主类中的UI实体 = (自定义UI类型findViewById(R.id.main) 都无法正确赋值,报错为java类型cast错误,类型转换错误。   我只好在主类中创建一个LinearLayout类型,并关联主配置文件, ...
  • 1.android中findViewById需要对返回值强制类型转换的问题描述  findViewById的返回值是view类型,通常开发中,我们需要将其强制转换成实际类型,输入麻烦、代码丑陋: @Override protected void onCreate(Bundle ...
  • 在我们的开发工作时,findViewById可能是用得最多的函数之一,但它特别讨厌的地方就是我们经常需要对返回的view进行类型转换,输入麻烦、代码抽离。
  • findViewById(R.id.your_id).cast +TAB键 这样就会自动进入转型格式变成如此 ((光标在此直接输入) findViewById(R.id.your_id)) 输入法回车光标回到行最后,然后你可以抽取全局,如下: (...
  • findViewById原理

    千次阅读 2015-03-28 10:34:17
    findViewById原理 前言 从表面上来看,findViewById就是根据R文件中的id值查询到相应的View,然后返回。  那么问题来了,这些View是在find的时候才被实例化还是父View实例化好的时候就已经实例化好了,...
  • No More findViewById

    2016-07-04 15:11:47
    findViewById
  • findviewbyid 重点 (Top highlight)New in Android Studio 3.6, view binding gives you the ability to replace findViewById with generated binding objects to simplify code, remove bugs, and avoid all the ...
  • 懒人的findviewbyid

    2017-07-28 09:33:45
    好久没更,今天分享一个我的代码习惯吧....一行也很长,虽然有提示,强制转换也可以用快捷方式,但是还是觉得麻烦而且看着不舒服很久之前对于还没用惯提示的我,对这种常用又很长的代码,比如findViewbyId(R.id.);

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 84,549
精华内容 33,819
关键字:

findviewbyid类型