Android通过泛型来简化findViewById
16lz
2021-01-26
1.通常我们通过findViewById得到View都要加个强制转换,这样感觉很麻烦,现在我们可以在BaseActivity加上如下方法通过泛型来有减少书写:
@SuppressWarnings(“unchecked”)public final E getView (int id) { try { return (E) findViewById(id); } catch (ClassCastException e) { Log.e(TAG, “Could not cast View to concrete class.”, e); throw e; }}
2.我们在activity中就可以通过getView来获得控件了。
TextView textView = getView(R.id.textview);Button button = getView(R.id.button);ImageView image = getView(R.id.imageview);//注意:如果级联调用getView 函数,则还是需要Cast转换private static void myView (ImageView img) { ...}@Overridepublic void onCreate (Bundle savedInstanceState) { super.onCreate(savedInstanceState); // myView(getView(R.id.imageview)); //这样无法通过编译 myView((ImageView) getView(R.id.imageview)); //需要Cast转换才可以}
更多相关文章
- Android(安卓)控件之ImageSwitcher图片切换器
- popupwindow与listview结合使用时,点击后退键无效问题
- 编译用于Android的busybox---步骤,问题和解决
- Android(安卓)PopupWindow显示在控件上方或者下方(demo)
- android开发教程(八)——环境搭建之android-ndk
- Windows10环境下Android(安卓)studio NDK编译assimp
- TensorFlow in Android
- Android(安卓)解决异步任务下载图片错位问题
- Android(安卓)Layout的可视化编辑器Droiddaw