如何在Android中从库项目生成视图

时间:2017-09-05 11:30:10

标签: android android-library

我的要求是根据Library中的响应类型生成视图。库必须根据响应是图像还是文本(创建应该在库内发生)返回单个视图。我已经创建了库项目,解析了响应,但我不确定如何将视图从库项目返回到正在实现的应用程序。 我应该在库中创建自定义视图类并使用侦听器,并在成功时添加实现库的UI。

我如何处理这个问题,我们将非常感谢任何帮助。

谢谢, Shanthi

1 个答案:

答案 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()方法中扩展视图,在那里您不需要创建多个子类但是这将是一个紧密耦合的设计 希望能帮助到你。