[Android] Hướng dẫn sử dụng Annotation để khai báo Layout
Đăng bởi: Admin | Lượt xem: 1524 | Chuyên mục: Android
Trong bài viết này mình sẽ hướng dẫn các bạn cách để khai báo layout một cách đơn giản, nhanh chóng bằng cả Java và Kotlin, thay thế cho việc setContentView trong hàm onCreate()
Làm sao để khai báo layout một cách đơn giản, nhanh chóng thế này
Với Java:
@LayoutId(R.layout.activity_main)
public class MainActivity extends BaseActivity {
}
hay Kotlin:
@LayoutId(R.layout.activity_main)
class MainActivity : BaseActivity() {
}
Đơn giản chỉ gồm 2 bước như sau:
1. Khởi tạo annotation
Java:
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface LayoutId { int value();}
Kotlin:
@Target(AnnotationTarget.CLASS, AnnotationTarget.FILE)
@Retention(AnnotationRetention.RUNTIME)
annotation class LayoutId(val value: Int)
2. Định nghĩa annotation ở BaseActivity
Java:
public abstract class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LayoutId layoutId = getClass().getAnnotation(LayoutId.class);
if (layoutId != null) {
int contentViewId = layoutId.value();
setContentView(contentViewId);
}
}
}
Kotlin:
abstract class BaseActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val layoutId = javaClass.getAnnotation(LayoutId::class.java)
val contentViewId = layoutId?.value
setContentView(contentViewId!!)
}
}
Thế là xong! Cám ơn bạn đã đọc bài viết.
Chào thân ái và quyết thắng!
Theo:
https://viblo.asia
Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!
Bài viết mới
Hướng dẫn xây dựng ứng dụng sử dụng API vân tay (FINGERPRINT API) để đăng nhập, đăng ký người dùng trong Android (P2)
Hướng dẫn xây dựng ứng dụng sử dụng API vân tay (FINGERPRINT API) để đăng nhập, đăng ký người dùng trong Android (P1)
Chuyên mục khác
Được xem nhiều nhất
Chuyên mục: Android
[Android] Xây dựng biểu đồ trong ứng dụng Android bằng thư viện MPAndr...
05/03/2020
| Lượt xem: 7518
Bổ sung tính năng Item Click cho RecyclerView trong Android
09/04/2020
| Lượt xem: 7454
[Android] Tìm hiểu về Internal Storage, External Storage và Scoped Sto...
16/04/2020
| Lượt xem: 6863
[Android] 30 câu hỏi phỏng vấn Android kinh điển
22/03/2020
| Lượt xem: 6596
Cách xây dựng ứng dụng trình phát nhạc đơn giản bằng Android Studio
01/08/2020
| Lượt xem: 6438
Khóa học liên quan
Khóa học: Android