From 2232d7dba422a3af09f4bbabfae7439fcf03761d Mon Sep 17 00:00:00 2001 From: geduo83 Date: Thu, 20 Feb 2020 23:11:56 +0800 Subject: [PATCH] code perfect --- .../java/com/fly/tour/db/dao/NewsDetailDao.kt | 8 ++--- .../java/com/refresh/lib/BaseRefreshLayout.kt | 2 +- .../java/com/refresh/lib/DaisyFooterView.kt | 22 +++++++------- .../java/com/refresh/lib/DaisyHeaderView.kt | 22 +++++++------- .../com/refresh/lib/DaisyRefreshLayout.kt | 7 +++-- .../com/refresh/lib/contract/PullContract.kt | 2 +- .../com/refresh/lib/contract/PushContract.kt | 2 +- .../fly/tour/me/model/NewsDetailAddModel.kt | 2 +- .../com/fly/tour/me/model/NewsTypeAddModel.kt | 2 +- .../fly/tour/me/model/NewsTypeListModel.kt | 2 +- .../fly/tour/news/model/NewsDetailModel.kt | 9 +----- .../com/fly/tour/news/model/NewsListModel.kt | 9 +----- .../java/com/fly/tour/test/MainActivity.kt | 7 +++++ .../src/main/java/com/fly/tour/test/Test.java | 17 ----------- .../src/main/java/com/fly/tour/test/Test1.kt | 25 ---------------- .../java/com/fly/tour/test/view/MyView.kt | 20 +++++++++++++ .../java/com/fly/tour/test/view/MyView1.kt | 18 ++++++++++++ .../java/com/fly/tour/test/view/MyView2.kt | 29 +++++++++++++++++++ .../java/com/fly/tour/test/view/Person.kt | 13 +++++++++ .../java/com/fly/tour/test/view/Person1.java | 18 ++++++++++++ .../com/fly/tour/test/view/java/MyView.java | 28 ++++++++++++++++++ .../com/fly/tour/test/view/java/MyView1.java | 28 ++++++++++++++++++ .../src/main/res/layout/activity_main.xml | 23 +++++---------- 23 files changed, 206 insertions(+), 109 deletions(-) delete mode 100644 module_test/src/main/java/com/fly/tour/test/Test.java delete mode 100644 module_test/src/main/java/com/fly/tour/test/Test1.kt create mode 100644 module_test/src/main/java/com/fly/tour/test/view/MyView.kt create mode 100644 module_test/src/main/java/com/fly/tour/test/view/MyView1.kt create mode 100644 module_test/src/main/java/com/fly/tour/test/view/MyView2.kt create mode 100644 module_test/src/main/java/com/fly/tour/test/view/Person.kt create mode 100644 module_test/src/main/java/com/fly/tour/test/view/Person1.java create mode 100644 module_test/src/main/java/com/fly/tour/test/view/java/MyView.java create mode 100644 module_test/src/main/java/com/fly/tour/test/view/java/MyView1.java diff --git a/lib_fly_db/src/main/java/com/fly/tour/db/dao/NewsDetailDao.kt b/lib_fly_db/src/main/java/com/fly/tour/db/dao/NewsDetailDao.kt index df16300..72f68f2 100644 --- a/lib_fly_db/src/main/java/com/fly/tour/db/dao/NewsDetailDao.kt +++ b/lib_fly_db/src/main/java/com/fly/tour/db/dao/NewsDetailDao.kt @@ -20,7 +20,9 @@ import java.util.ArrayList */ class NewsDetailDao(context: Context) { private val mDatabase: SQLiteDatabase - + init { + mDatabase = NewsDBHelper.getInstance(context)!!.readableDatabase + } val isEmpty: Boolean get() { val sql = "select * from " + NewsDBConfig.NewsDetail.TABLE_NAME @@ -30,10 +32,6 @@ class NewsDetailDao(context: Context) { } else true } - init { - mDatabase = NewsDBHelper.getInstance(context)!!.readableDatabase - } - fun addNewsDetail(type: Int, title: String, content: String): Boolean { val values = ContentValues() values.put(NewsDBConfig.NewsDetail.CLUMN_TYPE_ID, type) diff --git a/lib_refresh_layout/src/main/java/com/refresh/lib/BaseRefreshLayout.kt b/lib_refresh_layout/src/main/java/com/refresh/lib/BaseRefreshLayout.kt index c508462..2ba8b1a 100644 --- a/lib_refresh_layout/src/main/java/com/refresh/lib/BaseRefreshLayout.kt +++ b/lib_refresh_layout/src/main/java/com/refresh/lib/BaseRefreshLayout.kt @@ -16,7 +16,7 @@ abstract class BaseRefreshLayout(context: Context, attrs: AttributeSet) : SuperS private var isEnableLoadMore = true//是否启用上拉加载更多 protected lateinit var mOnRefreshListener: OnRefreshListener//下拉刷新监听器 protected lateinit var mOnLoadMoreListener: OnLoadMoreListener//上拉加载更多监听器 - protected var mOnAutoLoadListener: OnAutoLoadListener? = null//自动加载的回调 + protected lateinit var mOnAutoLoadListener: OnAutoLoadListener//自动加载的回调 interface OnRefreshListener { fun onRefresh() diff --git a/lib_refresh_layout/src/main/java/com/refresh/lib/DaisyFooterView.kt b/lib_refresh_layout/src/main/java/com/refresh/lib/DaisyFooterView.kt index 65c6dca..dd48fa2 100644 --- a/lib_refresh_layout/src/main/java/com/refresh/lib/DaisyFooterView.kt +++ b/lib_refresh_layout/src/main/java/com/refresh/lib/DaisyFooterView.kt @@ -24,9 +24,9 @@ import com.refresh.lib.contract.PushContract */ class DaisyFooterView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) : RelativeLayout(context, attrs), PushContract { - private var mTxtLoading: TextView? = null - private var mImgDaisy: ImageView? = null - private var mRotation: ObjectAnimator? = null + private lateinit var mTxtLoading: TextView + private lateinit var mImgDaisy: ImageView + private lateinit var mRotation: ObjectAnimator init { initView(context) @@ -36,29 +36,29 @@ class DaisyFooterView @JvmOverloads constructor(context: Context, attrs: Attribu fun initView(context: Context) { LayoutInflater.from(context).inflate(R.layout.layout_daisy, this) mTxtLoading = findViewById(R.id.txt_loading) - mTxtLoading!!.text = "上拉加载更多..." + mTxtLoading.text = "上拉加载更多..." mImgDaisy = findViewById(R.id.img_daisy) mRotation = ObjectAnimator.ofFloat(mImgDaisy, "rotation", 0f, 360f).setDuration(800) - mRotation!!.repeatCount = ValueAnimator.INFINITE - mRotation!!.interpolator = LinearInterpolator() + mRotation.repeatCount = ValueAnimator.INFINITE + mRotation.interpolator = LinearInterpolator() } override fun onPushEnable(enable: Boolean) { - mTxtLoading!!.text = if (enable) "松开加载" else "上拉加载" + mTxtLoading.text = if (enable) "松开加载" else "上拉加载" } override fun onLoadMore() { - mTxtLoading!!.text = "正在加载..." - mRotation!!.start() + mTxtLoading.text = "正在加载..." + mRotation.start() } @RequiresApi(Build.VERSION_CODES.KITKAT) fun setLoadMore(b: Boolean) { if (b) { - mRotation!!.start() + mRotation.start() } else { - mRotation!!.pause() + mRotation.pause() } } } diff --git a/lib_refresh_layout/src/main/java/com/refresh/lib/DaisyHeaderView.kt b/lib_refresh_layout/src/main/java/com/refresh/lib/DaisyHeaderView.kt index eca445d..d5988b6 100644 --- a/lib_refresh_layout/src/main/java/com/refresh/lib/DaisyHeaderView.kt +++ b/lib_refresh_layout/src/main/java/com/refresh/lib/DaisyHeaderView.kt @@ -22,9 +22,9 @@ import com.refresh.lib.contract.PullContract */ class DaisyHeaderView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) : RelativeLayout(context, attrs), PullContract { - private var mTxtLoading: TextView? = null - private var mImgDaisy: ImageView? = null - private var mRotation: ObjectAnimator? = null + private lateinit var mTxtLoading: TextView + private lateinit var mImgDaisy: ImageView + private lateinit var mRotation: ObjectAnimator init { initView(context) @@ -34,29 +34,29 @@ class DaisyHeaderView @JvmOverloads constructor(context: Context, attrs: Attribu fun initView(context: Context) { LayoutInflater.from(context).inflate(R.layout.layout_daisy, this) mTxtLoading = findViewById(R.id.txt_loading) - mTxtLoading!!.text = "下拉刷新" + mTxtLoading.text = "下拉刷新" mImgDaisy = findViewById(R.id.img_daisy) mRotation = ObjectAnimator.ofFloat(mImgDaisy, "rotation", 0f, 360f).setDuration(800) - mRotation!!.repeatCount = ValueAnimator.INFINITE - mRotation!!.interpolator = LinearInterpolator() + mRotation.repeatCount = ValueAnimator.INFINITE + mRotation.interpolator = LinearInterpolator() } override fun onPullEnable(enable: Boolean) { - mTxtLoading!!.text = if (enable) "松开刷新" else "下拉刷新" + mTxtLoading.text = if (enable) "松开刷新" else "下拉刷新" } override fun onRefresh() { - mTxtLoading!!.text = "正在刷新" - mRotation!!.start() + mTxtLoading.text = "正在刷新" + mRotation.start() } fun setRefreshing(b: Boolean) { if (b) { - mRotation!!.start() + mRotation.start() } else { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { - mRotation!!.pause() + mRotation.pause() } } } diff --git a/lib_refresh_layout/src/main/java/com/refresh/lib/DaisyRefreshLayout.kt b/lib_refresh_layout/src/main/java/com/refresh/lib/DaisyRefreshLayout.kt index f940300..894c43f 100644 --- a/lib_refresh_layout/src/main/java/com/refresh/lib/DaisyRefreshLayout.kt +++ b/lib_refresh_layout/src/main/java/com/refresh/lib/DaisyRefreshLayout.kt @@ -1,7 +1,9 @@ package com.refresh.lib import android.content.Context +import android.os.Build import android.util.AttributeSet +import androidx.annotation.RequiresApi /** * Description: <小菊花样式的刷新控件>
@@ -9,10 +11,10 @@ import android.util.AttributeSet * Date: 2019/2/25
* Version: V1.0.0
* Update:
- */ + */ class DaisyRefreshLayout(context: Context, attrs: AttributeSet) : BaseRefreshLayout(context, attrs) { - private val mDaisyHeaderView: DaisyHeaderView? + private val mDaisyHeaderView: DaisyHeaderView private val mDaisyFooterView: DaisyFooterView override var isRefreshing: Boolean get() = super.isRefreshing @@ -60,6 +62,7 @@ class DaisyRefreshLayout(context: Context, attrs: AttributeSet) : mDaisyHeaderView?.onRefresh() } + @RequiresApi(Build.VERSION_CODES.KITKAT) override fun setLoadMore(loadMore: Boolean) { mDaisyFooterView.setLoadMore(loadMore) super.setLoadMore(loadMore) diff --git a/lib_refresh_layout/src/main/java/com/refresh/lib/contract/PullContract.kt b/lib_refresh_layout/src/main/java/com/refresh/lib/contract/PullContract.kt index 8ec353d..286e08f 100644 --- a/lib_refresh_layout/src/main/java/com/refresh/lib/contract/PullContract.kt +++ b/lib_refresh_layout/src/main/java/com/refresh/lib/contract/PullContract.kt @@ -6,7 +6,7 @@ package com.refresh.lib.contract * Date: 2019/2/25
* Version: V1.0.0
* Update:
- */ + */ interface PullContract { /** * 手指上滑下滑的回调 diff --git a/lib_refresh_layout/src/main/java/com/refresh/lib/contract/PushContract.kt b/lib_refresh_layout/src/main/java/com/refresh/lib/contract/PushContract.kt index bc23afb..7d0a419 100644 --- a/lib_refresh_layout/src/main/java/com/refresh/lib/contract/PushContract.kt +++ b/lib_refresh_layout/src/main/java/com/refresh/lib/contract/PushContract.kt @@ -6,7 +6,7 @@ package com.refresh.lib.contract * Date: 2019/2/25
* Version: V1.0.0
* Update:
- */ + */ interface PushContract { /** * 手指上滑下滑的回调 diff --git a/module_me/src/main/java/com/fly/tour/me/model/NewsDetailAddModel.kt b/module_me/src/main/java/com/fly/tour/me/model/NewsDetailAddModel.kt index 472582a..ebf35d8 100644 --- a/module_me/src/main/java/com/fly/tour/me/model/NewsDetailAddModel.kt +++ b/module_me/src/main/java/com/fly/tour/me/model/NewsDetailAddModel.kt @@ -13,7 +13,7 @@ import com.fly.tour.me.contract.NewsDetailAddContract * Update:
*/ class NewsDetailAddModel(content: Context) : BaseModel(content), NewsDetailAddContract.Model { - var mNewsDetailDao: NewsDetailDao = NewsDetailDao(context) + private val mNewsDetailDao: NewsDetailDao by lazy { NewsDetailDao(context) } override fun addNewsDetail(type: Int, title: String, content: String): Boolean { return mNewsDetailDao.addNewsDetail(type, title, content) } diff --git a/module_me/src/main/java/com/fly/tour/me/model/NewsTypeAddModel.kt b/module_me/src/main/java/com/fly/tour/me/model/NewsTypeAddModel.kt index 6d1a614..ccbfcce 100644 --- a/module_me/src/main/java/com/fly/tour/me/model/NewsTypeAddModel.kt +++ b/module_me/src/main/java/com/fly/tour/me/model/NewsTypeAddModel.kt @@ -13,7 +13,7 @@ import com.fly.tour.me.contract.NewsTypeAddContract * Update:
*/ class NewsTypeAddModel(context: Context) : BaseModel(context), NewsTypeAddContract.Model { - var mNewsTypeDao: NewsTypeDao = NewsTypeDao(context) + private val mNewsTypeDao: NewsTypeDao by lazy { NewsTypeDao(context) } override fun addNewsType(type: String): Boolean { return mNewsTypeDao.addNewsType(type) } diff --git a/module_me/src/main/java/com/fly/tour/me/model/NewsTypeListModel.kt b/module_me/src/main/java/com/fly/tour/me/model/NewsTypeListModel.kt index 2e87b4f..c6692ca 100644 --- a/module_me/src/main/java/com/fly/tour/me/model/NewsTypeListModel.kt +++ b/module_me/src/main/java/com/fly/tour/me/model/NewsTypeListModel.kt @@ -14,7 +14,7 @@ import com.fly.tour.me.contract.NewsTypeListContract * Update:
*/ class NewsTypeListModel(context: Context) : BaseModel(context), NewsTypeListContract.Model { - private var mNewsTypeDao: NewsTypeDao = NewsTypeDao(context) + private val mNewsTypeDao: NewsTypeDao by lazy { NewsTypeDao(context) } override fun getListNewsType(): List? { return mNewsTypeDao.getListNewsType() } diff --git a/module_news/src/main/java/com/fly/tour/news/model/NewsDetailModel.kt b/module_news/src/main/java/com/fly/tour/news/model/NewsDetailModel.kt index 3d3791b..6da000c 100644 --- a/module_news/src/main/java/com/fly/tour/news/model/NewsDetailModel.kt +++ b/module_news/src/main/java/com/fly/tour/news/model/NewsDetailModel.kt @@ -6,13 +6,6 @@ import com.fly.tour.db.dao.NewsDetailDao import com.fly.tour.db.entity.NewsDetail import com.fly.tour.news.contract.NewsDetailContract -/** - * Description:
- * Author: mxdl
- * Date: 2020/2/17
- * Version: V1.0.0
- * Update:
- */ /** * Description:
* Author: mxdl
@@ -21,7 +14,7 @@ import com.fly.tour.news.contract.NewsDetailContract * Update:
*/ class NewsDetailModel(context: Context) : BaseModel(context), NewsDetailContract.Model { - private var mNewsDetailDao: NewsDetailDao = NewsDetailDao(context) + private val mNewsDetailDao: NewsDetailDao by lazy { NewsDetailDao(context) } override fun getNewsDetailById(id: Int): NewsDetail? { return mNewsDetailDao.getNewsDetailById(id) } diff --git a/module_news/src/main/java/com/fly/tour/news/model/NewsListModel.kt b/module_news/src/main/java/com/fly/tour/news/model/NewsListModel.kt index 6fa759e..105c84e 100644 --- a/module_news/src/main/java/com/fly/tour/news/model/NewsListModel.kt +++ b/module_news/src/main/java/com/fly/tour/news/model/NewsListModel.kt @@ -6,13 +6,6 @@ import com.fly.tour.db.dao.NewsDetailDao import com.fly.tour.db.entity.NewsDetail import com.fly.tour.news.contract.NewsListContract -/** - * Description:
- * Author: mxdl
- * Date: 2020/2/16
- * Version: V1.0.0
- * Update:
- */ /** * Description:
* Author: mxdl
@@ -21,7 +14,7 @@ import com.fly.tour.news.contract.NewsListContract * Update:
*/ class NewsListModel(context:Context) : BaseModel(context),NewsListContract.Model { - private var mDetailDao = NewsDetailDao(context) + private val mDetailDao by lazy { NewsDetailDao(context)} override fun getListNewsByType(type: Int): List? { return mDetailDao.getListNewsByType(type) } diff --git a/module_test/src/main/java/com/fly/tour/test/MainActivity.kt b/module_test/src/main/java/com/fly/tour/test/MainActivity.kt index c08bb49..8d83aec 100644 --- a/module_test/src/main/java/com/fly/tour/test/MainActivity.kt +++ b/module_test/src/main/java/com/fly/tour/test/MainActivity.kt @@ -2,11 +2,18 @@ package com.fly.tour.test import androidx.appcompat.app.AppCompatActivity import android.os.Bundle +import com.fly.tour.test.view.MyView2 +import com.fly.tour.test.view.Person1 +import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) + btn.setOnClickListener { + //view.test() + + } } } diff --git a/module_test/src/main/java/com/fly/tour/test/Test.java b/module_test/src/main/java/com/fly/tour/test/Test.java deleted file mode 100644 index 3c8a8c5..0000000 --- a/module_test/src/main/java/com/fly/tour/test/Test.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.fly.tour.test; - -import com.fly.tour.common.util.ToastUtil; - -/** - * Description:
- * Author: mxdl
- * Date: 2020/2/19
- * Version: V1.0.0
- * Update:
- */ -public class Test { - public static void main(String[] args) { - ToastUtil.INSTANCE.showToast("ok"); - //System.out.println("ok"); - } -} diff --git a/module_test/src/main/java/com/fly/tour/test/Test1.kt b/module_test/src/main/java/com/fly/tour/test/Test1.kt deleted file mode 100644 index fe400f2..0000000 --- a/module_test/src/main/java/com/fly/tour/test/Test1.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.fly.tour.test - -import com.fly.tour.common.util.ToastUtil - -/** - * Description:
- * Author: mxdl
- * Date: 2020/2/19
- * Version: V1.0.0
- * Update:
- */ -/** - * Description:
- * Author: mxdl
- * Date: 2020/2/19
- * Version: V1.0.0
- * Update:
- */ -class Test1 { - -} - -fun main(args: Array) { - ToastUtil.showToast("ok") -} \ No newline at end of file diff --git a/module_test/src/main/java/com/fly/tour/test/view/MyView.kt b/module_test/src/main/java/com/fly/tour/test/view/MyView.kt new file mode 100644 index 0000000..f3c5c36 --- /dev/null +++ b/module_test/src/main/java/com/fly/tour/test/view/MyView.kt @@ -0,0 +1,20 @@ +package com.fly.tour.test.view + +import android.content.Context +import android.util.AttributeSet +import android.view.View + +/** + * Description:

+ * Author: mxdl

+ * Date: 2020/2/20

+ * Version: V1.0.0

+ * Update:

+
*/ +class MyView : View { + constructor(context: Context) : super(context) {} + + constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) {} + + constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context,attrs,defStyleAttr) {} +} diff --git a/module_test/src/main/java/com/fly/tour/test/view/MyView1.kt b/module_test/src/main/java/com/fly/tour/test/view/MyView1.kt new file mode 100644 index 0000000..8783669 --- /dev/null +++ b/module_test/src/main/java/com/fly/tour/test/view/MyView1.kt @@ -0,0 +1,18 @@ +package com.fly.tour.test.view + +import android.content.Context +import android.util.AttributeSet +import android.view.View + +/** + * Description:

+ * Author: mxdl

+ * Date: 2020/2/20

+ * Version: V1.0.0

+ * Update:

+
*/ +class MyView1 @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 +) : View(context, attrs, defStyleAttr) diff --git a/module_test/src/main/java/com/fly/tour/test/view/MyView2.kt b/module_test/src/main/java/com/fly/tour/test/view/MyView2.kt new file mode 100644 index 0000000..904d261 --- /dev/null +++ b/module_test/src/main/java/com/fly/tour/test/view/MyView2.kt @@ -0,0 +1,29 @@ +package com.fly.tour.test.view + +import android.content.Context +import android.util.AttributeSet +import android.view.View + +/** + * Description:

+ * Author: mxdl

+ * Date: 2020/2/20

+ * Version: V1.0.0

+ * Update:

+
*/ +class MyView2 : View { + init { + println("MyView2 init") + } + @JvmOverloads + constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 + ) : super(context, attrs, defStyleAttr){ + println("MyView2 constructor") + } + fun test(){ + println("Hello World!") + } +} diff --git a/module_test/src/main/java/com/fly/tour/test/view/Person.kt b/module_test/src/main/java/com/fly/tour/test/view/Person.kt new file mode 100644 index 0000000..9c07ebf --- /dev/null +++ b/module_test/src/main/java/com/fly/tour/test/view/Person.kt @@ -0,0 +1,13 @@ +package com.fly.tour.test.view + +/** + * Description:
+ * Author: mxdl
+ * Date: 2020/2/20
+ * Version: V1.0.0
+ * Update:
+ */ +class Person{ + var username:String? = null + var age:Int = 16 +} \ No newline at end of file diff --git a/module_test/src/main/java/com/fly/tour/test/view/Person1.java b/module_test/src/main/java/com/fly/tour/test/view/Person1.java new file mode 100644 index 0000000..fac92dc --- /dev/null +++ b/module_test/src/main/java/com/fly/tour/test/view/Person1.java @@ -0,0 +1,18 @@ +package com.fly.tour.test.view; + +/** + * Description:
+ * Author: mxdl
+ * Date: 2020/2/20
+ * Version: V1.0.0
+ * Update:
+ */ +public class Person1 { + int age; + String name; + + public Person1(int age, String name) { + this.age = age; + this.name = name; + } +} diff --git a/module_test/src/main/java/com/fly/tour/test/view/java/MyView.java b/module_test/src/main/java/com/fly/tour/test/view/java/MyView.java new file mode 100644 index 0000000..1b78f31 --- /dev/null +++ b/module_test/src/main/java/com/fly/tour/test/view/java/MyView.java @@ -0,0 +1,28 @@ +package com.fly.tour.test.view.java; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.View; + +import androidx.annotation.Nullable; + +/** + * Description:
+ * Author: mxdl
+ * Date: 2020/2/20
+ * Version: V1.0.0
+ * Update:
+ */ +public class MyView extends View { + public MyView(Context context) { + super(context); + } + + public MyView(Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + } + + public MyView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } +} diff --git a/module_test/src/main/java/com/fly/tour/test/view/java/MyView1.java b/module_test/src/main/java/com/fly/tour/test/view/java/MyView1.java new file mode 100644 index 0000000..7c73350 --- /dev/null +++ b/module_test/src/main/java/com/fly/tour/test/view/java/MyView1.java @@ -0,0 +1,28 @@ +package com.fly.tour.test.view.java; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.View; + +import androidx.annotation.Nullable; + +/** + * Description:
+ * Author: mxdl
+ * Date: 2020/2/20
+ * Version: V1.0.0
+ * Update:
+ */ +public class MyView1 extends View { + public MyView1(Context context) { + this(context,null); + } + + public MyView1(Context context, @Nullable AttributeSet attrs) { + this(context, attrs,0); + } + + public MyView1(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } +} diff --git a/module_test/src/main/res/layout/activity_main.xml b/module_test/src/main/res/layout/activity_main.xml index 4fc2444..555b125 100644 --- a/module_test/src/main/res/layout/activity_main.xml +++ b/module_test/src/main/res/layout/activity_main.xml @@ -1,18 +1,9 @@ - - - - - \ No newline at end of file + xmlns:android="http://schemas.android.com/apk/res/android"> +