应用场景:若是咱们想获取某个自定义View里面的某个控件,知道里面的控件ID之后能够经过如下方法获取。 好比获取搜索框自定义组件里面的EditTextjava
//经过反射获取 et_search 控件 try { //也能够经过如下方法获取类 // Class stuClass = Class.forName("控件报名"); Class stuClass = binding.searchView.getClass(); //EditText 的id 为 et_search Field file = stuClass.getDeclaredField("et_search"); // 经过反射获取item_tv对象 file.setAccessible(true); //file.get(this) 传自定义View类 EditText EditText = (EditText) file.get(binding.searchView); // 获取EditText实例 } catch (Exception e) { e.printStackTrace(); }
参考此处博主web