Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当findViewById时不需要浇铸?_Java_Android_Android Studio_Casting - Fatal编程技术网

Java 当findViewById时不需要浇铸?

Java 当findViewById时不需要浇铸?,java,android,android-studio,casting,Java,Android,Android Studio,Casting,对于这部分代码,根据其中一个Udacity Android教程,应该是完全正确的。但是AS提示我(TextView),即强制转换表达式是不必要的,当我删除它时,它不会影响代码的功能,我仍然可以在下一行设置text。但是为什么呢 有人能解释为什么会这样吗?我用的是AS3.0Canary5,但我知道这没什么区别。 任何帮助都将不胜感激。我完全是个新手。由于Android O不需要显式转换到视图对象,该函数自动为您执行此操作,有关更多信息,请查看Google I/O 17,因为Android O不需要

对于这部分代码,根据其中一个Udacity Android教程,应该是完全正确的。但是AS提示我(TextView),即强制转换表达式是不必要的,当我删除它时,它不会影响代码的功能,我仍然可以在下一行设置text。但是为什么呢

有人能解释为什么会这样吗?我用的是AS3.0Canary5,但我知道这没什么区别。
任何帮助都将不胜感激。我完全是个新手。

由于Android O不需要显式转换到
视图
对象,该函数自动为您执行此操作,有关更多信息,请查看Google I/O 17

,因为Android O不需要显式转换到
视图
对象,该功能会自动为您执行此操作,有关更多信息,请从

在大多数情况下(取决于编译器支持),生成的视图会自动转换为目标类类型

在大多数情况下(取决于编译器支持),生成的视图会自动转换为目标类类型


铸造过去是必要的,而Android API是基于Java6(或7)的


我认为最近,他们改进了几种方法,比如findViewById(),它具有Java 8和泛型的特性,允许将方法“采用”的结果类型指定给变量的类型。

强制转换过去是必要的,而安卓API基于Java 6(或7)


我认为最近,他们改进了几种方法,比如findviewbyd(),具有Java 8和泛型的特性,允许方法结果的类型“采用”变量的类型,结果被分配到。

根据谷歌I/O,findViewById中的强制转换在最新的Android O中是可选的,以帮助开发人员。

根据谷歌I/O,findViewById中的强制转换在最新的Android O中是可选的,以帮助开发人员。

自SDK 26以来,不需要强制转换,不是因为Android O

因此,如果您使用SDK 26编译,那么无论您的目标版本或最低版本是什么,您都具有此功能

注意:在大多数情况下(取决于编译器支持),结果 视图将自动转换为目标类类型。如果目标 类类型不受约束,可能需要显式强制转换


自SDK 26以来不需要强制转换,这不是因为Android O

因此,如果您使用SDK 26编译,那么无论您的目标版本或最低版本是什么,您都具有此功能

注意:在大多数情况下(取决于编译器支持),结果 视图将自动转换为目标类类型。如果目标 类类型不受约束,可能需要显式强制转换


这是最新的开发。生成APK的更好方法是使用Cast for Wide AndroidVersions@HamidRezaHeydari我认为这是没有必要的,因为一个APK已经为最新的开发编译了版本。生成
APK
的更好方法是使用Cast for Wide AndroidVersions@HamidRezaHeydari我认为它没有必要像APK那样已经编译过版本所以你说Android O不必显式地投射视图,但我的应用程序目标是Android 4.0.3及以上版本…好吧,检查一下它的目标级别sdk构建工具是否设置为Android O,我不知道版本号,因为我只使用过N,谷歌i/oSo中说,你是说Android O不需要明确地发布视图,但我的应用程序针对的是Android 4.0.3及以上版本……好吧,检查一下它的目标级别sdk构建工具是否设置为Android O,我不知道版本号,因为我只达到了N,这是在谷歌i/O中说的
private void displayMessage(String message) {
        TextView orderSummaryTextView = (TextView) findViewById(R.id.order_summary_text_view);
        orderSummaryTextView.setText(message); }