Android:一个findViewById()方法,它返回我们不需要强制转换的值

因为我厌倦了为每个返回原始View的Activity.findViewById()编写一个强制转换操作符,所以我终于尝试了one way that was suggested by Internet.

public abstract class MyActivity extends Activity {

    @SuppressWarnings("unchecked")
    protected <T extends View> T findViewByID(int id) {
        return (T) this.findViewById(id);
    }
}

请注意,这不会过载(最后一个“D”是大写的).编译器说我们不能将View转换为T.我的实现有什么问题吗?奇怪的是,这个建议很难在英文网站上看到(例如,甚至在我们可爱的Stack Overflow中),例外是上面发布的网站.

解决方法:

这在我的测试项目中工作正常.没有编译器错误:

上一篇:day25


下一篇:Google Android SDK开发范例大全笔记 二