我的要求是根据Library中的响应类型生成视图。库必须根据响应是图像还是文本(创建应该在库内发生)返回单个视图。我已经创建了库项目,解析了响应,但我不确定如何将视图从库项目返回到正在实现的应用程序。 我应该在库中创建自定义视图类并使用侦听器,并在成功时添加实现库的UI。
我如何处理这个问题,我们将非常感谢任何帮助。
谢谢, Shanthi
答案 0 :(得分:0)
创建自定义视图时,骨架看起来像这样
public abstract class YourClass extends View {
private Context context;
public YourClass(Context context) {
super(context);
initialize(context);
}
public YourClass(Context context, AttributeSet attrs) {
super(context, attrs);
initialize(context);
}
public YourClass(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initialize(context);
}
private void abstract initialize(Context context);
// PROVIDE IMPLEMENTATION BASED ON RESPONSE
}
然后创建将扩展此类的具体类
eq
ImageClass extends Your class{
public void initialize(Context context)
{
View view = inflate(context, R.layout.imageViewLayout , this);
}
}
或
TextClass extends Your class{
public void initialize(Context context)
{
View view = inflate(context, R.layout.textViewLayout , this);
}
}
编辑
HERE是参考How to make library project
的教程
同样可以有不同的方式返回视图 您可以在构造函数中传递一些值,并且根据该值可以在 initialize()方法中扩展视图,在那里您不需要创建多个子类但是这将是一个紧密耦合的设计 希望能帮助到你。