应用场景:如果我们想获取某个自定义View里面的某个控件,知道里面的控件ID以后可以通过以下方法获取。 比如获取搜索框自定义组件里面的EditText
//通过反射获取 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();
}