测试用,tablayout的tab有个公开的方法
public void select()
private void te_dddd(TabLayout.Tab tab){ try { // 加载指定的类 Class cls = Class.forName("android.support.design.widget.TabLayout"); Class[] arrayOfClass = new Class[1]; arrayOfClass[0] = Context.class; // Constructor ct = cls.getDeclaredConstructor(arrayOfClass); // ct.setAccessible(true); // Object obj = ct.newInstance(null); Object obj = mTagLayout; // Object obj = cls.newInstance(); // 根据方法名获取指定方法的参数类型列表 Class paramTypes[] = getParamTypes(cls, "selectTab"); // 在指定类中获取指定的方法 (all) Method meth = cls.getDeclaredMethod("selectTab", paramTypes); meth.setAccessible(true); // 调用指定的方法并获取返回值为Object类型 Object[] arrayOfObject = new Object[2]; arrayOfObject[0] = tab; arrayOfObject[1] = true; Object retObject = meth.invoke(obj, arrayOfObject); } catch (Exception e) { e.printStackTrace(); Log.e("hrl", "e " + e); } }