【问题标题】:How to assign properties without casting?如何在不强制转换的情况下分配属性?
【发布时间】:2014-09-27 10:49:19
【问题描述】:

我想知道是否可以将属性图像资源分配给ImageView 而不进行强制转换。我知道,如果不进行强制转换,所涉及的类将是 View 而不是 ImageView。但是,当我将来不需要它时,创建一个变量并花费一行是很烦人的。

例子:

正确的方法:

ImageView img = (ImageView)findViewById(R.id.img1);
img.setImageResource(idImg);

理想方式:

findViewById(R.id.img1).setImageResource(idImg);

有什么办法吗?

【问题讨论】:

    标签: java android view casting imageview


    【解决方案1】:

    没有强制转换是不可能的,但你可以这样做以避免变量。

    ((ImageView)findViewById(R.id.img1)).setImageResource(idImg);

    【讨论】:

    • 没错。这是一个非常简单的提示。谢谢!
    【解决方案2】:

    您可以使用方括号来处理您已投射的对象,如下所示:

    ( (ImageView)findViewById(R.id.img1) ).setImageResource(idImg)
    

    【讨论】:

      【解决方案3】:

      你也可以使用 Class.cast 方法:

      ImageView.class.cast(findViewById(R.id.img1)).setImageResource(idImg);

      【讨论】:

        猜你喜欢
        • 2013-05-23
        • 2020-08-08
        • 1970-01-01
        • 2012-07-13
        • 2019-07-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-16
        相关资源
        最近更新 更多