android studioandroid findviewbyidd报错。

android studio中findViewById的快捷强制类型转换
我比较喜欢的是suffix 快捷键系列,用起来非常爽,代码重构一气呵成。
玩法就是,你在输入了一个对象之后,可以通过.xxx的命令+Tab键来完成快速的代码重构,比如object.cast 转型、boolean.if 变成if 结构、int.switch变成switch结构。list.fori 把这个list变成for i 的循环结构。
比如 要转换一个View 这样输入:findViewById(R.id.your_id).cast +TAB键
这样就会自动进入转型格式变成如此
((光标在此直接输入) findViewById(R.id.your_id))
输入法回车光标回到行最后,然后你可以抽取全局,如下:((TextView) findViewById(R.id.your_id)).field + Tab键
或者给直接声明控件
((TextView) findViewById(R.id.your_id)).var + Tab键
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!Studio自动生成findViewById出错
[问题点数:40分]
本版专家分:0
CSDN今日推荐
匿名用户不能发表回复!|
CSDN今日推荐android studio findviewbyid报错。_百度知道
android studio findviewbyid报错。
建工程的时候设置SDK成8.1了,改成5.1就报错,我试了下8.0以上就不报错。我新建一个工程SDK设置5.1,一模一样的写法不报错。。。
我有更好的答案
1.看一下大小写问题findViewById2.看一下R.class文件是否报错,如果R报错,清除缓存clean并且重新编译rebuild,还不能解决就关闭工程,关闭AS,重启AS
采纳率:90%
检查一下布局是不是有错误,然后clean重新编译
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。水滴石穿,砥砺前行。
findViewById类型转换异常Casting
升级Android studio为最新版3.0后,在项目初始化控件使用findViewById时,
出现下面代码中的情况 : tv = findViewById(R.id.textView);
此时as没有提示代码错误;
按照经常写代码的习惯,都会写为tv = (TextView)findViewById(R.id.textView);
此时将此行代码改为: tv = (TextView)findViewById(R.id.textView);
' 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即可。
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!findViewById的另类效率写法 - 简书
findViewById的另类效率写法
在Android中最常见的代码,莫过于findViewById了,通过findViewById能够直接引用资源文件中的View,但是资源文件中View过多会导致findViewById的重复使用,代码冗余过大。
很多开源框架使用注解的方式来解决这一问题,但是注解通常会带来性能损耗,而且在Android Studio中并不乐观,可能导致引用的资源id无法识别,因为在Android Studio中作为库项目中的资源id不是static的,无法通过switch...case来使用,也不能通过注解引用。
库项目中资源id引用出错
为了简化findViewById的写法,我们可以这样做:
public final class ViewUtils {
private ViewUtils() {
//throw exception
* Look for a view with the given id.
* @param object
* @param id
* @param &V&
public static &V extends View& V findViewById(Object object, int id) {
if (object instanceof View) {
return (V) ((View) object).findViewById(id);
} else if (object instanceof Activity) {
return (V) ((Activity) object).findViewById(id);
} else if (object instanceof Window) {
return (V) ((Window) object).findViewById(id);
} else if (object instanceof Fragment) {
return (V) ((Fragment) object).getView().findViewById(id);
BaseActivity的基类中这样写:
public &E extends View& E $(int resId) {
return ViewUtils.findViewById(this, resId);
在子类ChildAcitivity中直接调用$()方法即可轻松引用资源id,并且无需做类型转换:
public void initViews() {
bnbTab = $(R.id.bnb_tab);
通过在方法中使用泛型,避免了每次进行类型转换,简化了代码,也提高了开发效率。
有什么问题欢迎提出,版权所有,转载请注明出处!
Android之于吾,似伯牙之于绝弦。
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金 相信有很多...
写给 Android 开发者的混淆使用手册 - Android - 掘金本文转自:点击打开链接 毫无疑问,混淆是打包过程中最重要的流程之一,在没有特殊原因的情况下,所有 app 都应该开启混淆。 首先,这里说的的混淆其实是包括了代码压缩、代码混淆以及资源压缩等的优化过程。依...
Java 基础思维导图,让 Java 不再难懂 - 工具资源 - 掘金思维导图的好处 最近看了一些文章的思维导图,发现思维导图真是个强大的工具。了解了思维导图的作用之后,觉得把它运用到java上应该是个不错的想法,这样回顾知识点的时候一目了然,快速知道自己的短板。 思维导图...
【转】Android 开源项目分类汇总 旭川君已关注
16:49*字数 29527阅读 1795评论 1喜欢 35 来源:https://github.com/Trinea/android-open-project 更多:Android 开源库获取途径...
layout: docs-default 消息的本地化 IdentityServer创建的消息可以通过ILocalizationService接口来本地化(或者被直接替换成别的字符串)。这个接口有一个简单的API: string GetString(string categ...
C前几天被好友拖进初中的微信群,其实,C知道有那么一个群很久了,但,一直不得其门而入! 一是她觉得没有人拉她进去,只能说明她人缘一般,再者,不熟悉的同学们的家长里短,她也不甚擅长! 好吧,事实是她矫情了,她的同班兼闺密的Y同学,整天都在她的面前哭诉着她多么的想不被人发现的离...
最好的爱情,应该是两情相悦,如果做不到 情相许,之少要做到互不亏欠。 我想对于爱情,我还是太执着。 我就是这样的人。对于不喜欢的人,多说一句话我都觉得多;对于喜欢的人,倒贴我也乐意。
作词:独孤一鸣 作曲:周志军 演唱:阿利 编曲:踏浪 后期混缩:火鸟工作室 把酒邀月空余叹 我暗自神伤 只怕落花流秋水 孤坐夜未央 别笑我呆 别笑我颠 别笑我痴狂 芸芸众生渡沧海 今生你独享 滚滚红尘路苍茫 别笑我呆 别笑我颠 别笑我痴狂 芸芸众生渡沧海 情缘恨无常 抚琴弄...
包容很重要 但是相互懂得更重要 勇气和胆小可以同时存在于一个人身上 但是现在我选择退缩 冷战和无所谓是最伤害人的东西 二狄我想你抱抱我 我都好久没见你没被你宠了 我现在真的好难过 男票要考试 怕他分心 也不知道该怎么说 怕他会觉得这些矛盾是我的错 我觉得很难过 真的很难过

我要回帖

更多关于 kotlin findviewbyid 的文章

 

随机推荐