在xml资源布局中是否有可能具有基本视图,并在对其进行充气时将其转换为特定视图?
例如,有一个名为MyCustomView的自定义视图,该视图扩展了EditText,而一些扩展了MyCustomView的视图(如MyCustomViewNumber或MyCustomViewPassword)和一个这样的布局:
<com.example.MyCustomView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
.....>
</com.example.MyCustomView>
是否有可能在我将此xml充气后,MyCustomView成为MyCustomViewNumber或MyCustomViewPassword之一(继承了这两个属性的所有属性)。 MyCustomViewNumber将是一个EditText(最好是MyCustomView),在构造函数方法中,该方法将setInputType设置为number。
View baseView = LayoutInflater.from(getContext()).inflate(R.id.my_layout, container, false);
baseView = new MyCustomViewNumber(getContext()). //with this line I want that my view from the layout to take all attributes from MyCustomViewNumber.
概括:
public class MyCustomView extends EditText
public class MyCustomViewNumber extends MyCustomView { ctors > this.setInputType("number");}
public class MyCustomViewPassword extends MyCustomView{ ctors > same as above }
给MyCustomView充气。将展开的视图设置为MyCustomViewNumber或MyCustomViewPassword。可能吗 ?
基本上我这样做是因为我需要“ layoutParams”。我知道我可以从膨胀视图中获取布局参数,将其删除,然后使用该参数添加新的布局参数。
最佳答案
不,您在XML中使用其完全限定名称的类是由系统实例化的,因此必须是一个具体的类。