Releases: trianapp/singleadapter
lib
Maven
Kt
Kt
Kt
Kt
What's Changed
- feat: migrating to kotlin by @triandamai in #4
New Contributors
- @triandamai made their first contribution in #4
Full Changelog: v1.0.15...v1.0.16
LayoutManager
SingleAdapter
-
Satu Adapter yang bisa digunakan berulang-ulang
-
Cara Pakai
SingleAdapter<PromoModel> promo = new SingleAdapter<>(R.layout.item_food_promo, onClick);
R.layout.item_food_promo
adalah layout item yang akan di tampilkan di recylerview dan onClick
adalah :
private onEventClick<PromoModel> onClick = new onEventClick<PromoModel>() {
@Override
public void onEdit(PromoModel payload, int position) {
}
@Override
public void onDetail(PromoModel payload, int position) {
}
@Override
public void onDelete(PromoModel payload, int position) {
}
};
untuk item recycler harus membuat kelas/class baru dengan extends Parent implement SingleAdapterRow<Model>
Seperti :
class ItemPromo extends Parent implements SingleAdapterRow<PromoModel> {
}
Parent
bisa diganti View lainnya misal LinearLayout
atau View lain
xml layout itemnya menjadi:
<com.trian.damai.ui.home.ItemPromo
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
...
kemudian implement binView
dan onFinishInflate
Button btn ;
TextView tv;
@Override
protected void onFinishInflate() {
super.onFinishInflate();
//disini inisiasi view
btn = (Button) findViewById(R.id.button);
tv = (Button) findViewById(R.id.textview);
}
@Override
public void bindView(PromoModel data, onEventClick<PromoModel> eventClick, int position) {
// disini setdata ke view
// contoh:
tv.setText(data.getTitle());
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
eventClick.onDetail(data,position);
}
});
}
}
Untuk men-set data ke adapter
- Di konstruktor langsung
List<PromoModel> data = new ArrayList<>();
SingleAdapter<PromoMode> adapter = new SingleAdapter<>(R.layout.item_food_promo, p,data);
- Atau gunakan method
setData
danaddData
setData
List<PromoModel> data = new ArrayList<>();
adapter.setData(data);
addData
PromoModel data = new PromoModel();
adapter.addData(data);
Extra
- Kita bisa menambahkan animasi di adapternya(secara default menggunakan fade_in)
- Animasi yang tersedia
SingleAnimation.fade_in
SingleAnimation.fade_out
SingleAnimation.slide_left
SingleAnimation.slide_right
Untuk menentukan animasi gunakan:
adapter.setAnimation(SingleAdapter.SingleAnimation.fade_in);
Cara install
- Tambahkan JitPack repository ke build file
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
- Tambahkan dependency
dependencies {
...
implementation 'com.github.triandamai:singleadapter:v1.0.5'
}
#ChangeLog
- Animation
- DiffUtil
Next
- mendukung dataBinding
- menambah animasi
DiffUtil
SingleAdapter
-
Satu Adapter yang bisa digunakan berulang-ulang
-
Cara Pakai
SingleAdapter<PromoModel> promo = new SingleAdapter<>(R.layout.item_food_promo, onClick);
R.layout.item_food_promo
adalah layout item yang akan di tampilkan di recylerview dan onClick
adalah :
private onEventClick<PromoModel> onClick = new onEventClick<PromoModel>() {
@Override
public void onEdit(PromoModel payload, int position) {
}
@Override
public void onDetail(PromoModel payload, int position) {
}
@Override
public void onDelete(PromoModel payload, int position) {
}
};
untuk item recycler harus membuat kelas/class baru dengan extends Parent implement SingleAdapterRow<Model>
Seperti :
class ItemPromo extends Parent implements SingleAdapterRow<PromoModel> {
}
Parent
bisa diganti View lainnya misal LinearLayout
atau View lain
xml layout itemnya menjadi:
<com.trian.damai.ui.home.ItemPromo
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
...
kemudian implement binView
dan onFinishInflate
Button btn ;
TextView tv;
@Override
protected void onFinishInflate() {
super.onFinishInflate();
//disini inisiasi view
btn = (Button) findViewById(R.id.button);
tv = (Button) findViewById(R.id.textview);
}
@Override
public void bindView(PromoModel data, onEventClick<PromoModel> eventClick, int position) {
// disini setdata ke view
// contoh:
tv.setText(data.getTitle());
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
eventClick.onDetail(data,position);
}
});
}
}
Untuk men-set data ke adapter
- Di konstruktor langsung
List<PromoModel> data = new ArrayList<>();
SingleAdapter<PromoMode> adapter = new SingleAdapter<>(R.layout.item_food_promo, p,data);
- Atau gunakan method
setData
danaddData
setData
List<PromoModel> data = new ArrayList<>();
adapter.setData(data);
addData
PromoModel data = new PromoModel();
adapter.addData(data);
Extra
- Kita bisa menambahkan animasi di adapternya(secara default menggunakan fade_in)
- Animasi yang tersedia
SingleAnimation.fade_in
SingleAnimation.fade_out
SingleAnimation.slide_left
SingleAnimation.slide_right
Untuk menentukan animasi gunakan:
adapter.setAnimation(SingleAdapter.SingleAnimation.fade_in);
Cara install
- Tambahkan JitPack repository ke build file
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
- Tambahkan dependency
dependencies {
...
implementation 'com.github.triandamai:singleadapter:v1.0.5'
}
#ChangeLog
- Animation
- DiffUtil
Next
- mendukung dataBinding
- menambah animasi
DiffUtil
SingleAdapter
-
Satu Adapter yang bisa digunakan berulang-ulang
-
Cara Pakai
SingleAdapter<PromoModel> promo = new SingleAdapter<>(R.layout.item_food_promo, onClick);
R.layout.item_food_promo
adalah layout item yang akan di tampilkan di recylerview dan onClick
adalah :
private onEventClick<PromoModel> onClick = new onEventClick<PromoModel>() {
@Override
public void onEdit(PromoModel payload, int position) {
}
@Override
public void onDetail(PromoModel payload, int position) {
}
@Override
public void onDelete(PromoModel payload, int position) {
}
};
untuk item recycler harus membuat kelas/class baru dengan extends Parent implement SingleAdapterRow<Model>
Seperti :
class ItemPromo extends Parent implements SingleAdapterRow<PromoModel> {
}
Parent
bisa diganti View lainnya misal LinearLayout
atau View lain
xml layout itemnya menjadi:
<com.trian.damai.ui.home.ItemPromo
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
...
kemudian implement binView
dan onFinishInflate
Button btn ;
TextView tv;
@Override
protected void onFinishInflate() {
super.onFinishInflate();
//disini inisiasi view
btn = (Button) findViewById(R.id.button);
tv = (Button) findViewById(R.id.textview);
}
@Override
public void bindView(PromoModel data, onEventClick<PromoModel> eventClick, int position) {
// disini setdata ke view
// contoh:
tv.setText(data.getTitle());
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
eventClick.onDetail(data,position);
}
});
}
}
Untuk men-set data ke adapter
- Di konstruktor langsung
List<PromoModel> data = new ArrayList<>();
SingleAdapter<PromoMode> adapter = new SingleAdapter<>(R.layout.item_food_promo, p,data);
- Atau gunakan method
setData
danaddData
setData
List<PromoModel> data = new ArrayList<>();
adapter.setData(data);
addData
PromoModel data = new PromoModel();
adapter.addData(data);
Extra
- Kita bisa menambahkan animasi di adapternya(secara default menggunakan fade_in)
- Animasi yang tersedia
SingleAnimation.fade_in
SingleAnimation.fade_out
SingleAnimation.slide_left
SingleAnimation.slide_right
Untuk menentukan animasi gunakan:
adapter.setAnimation(SingleAdapter.SingleAnimation.fade_in);
Cara install
- Tambahkan JitPack repository ke build file
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
- Tambahkan dependency
dependencies {
...
implementation 'com.github.triandamai:singleadapter:v1.0.5'
}
#ChangeLog
- Animation
- DiffUtil
Next
- mendukung dataBinding
- menambah animasi
DiffUtil
SingleAdapter
-
Satu Adapter yang bisa digunakan berulang-ulang
-
Cara Pakai
SingleAdapter<PromoModel> promo = new SingleAdapter<>(R.layout.item_food_promo, onClick);
R.layout.item_food_promo
adalah layout item yang akan di tampilkan di recylerview dan onClick
adalah :
private onEventClick<PromoModel> onClick = new onEventClick<PromoModel>() {
@Override
public void onEdit(PromoModel payload, int position) {
}
@Override
public void onDetail(PromoModel payload, int position) {
}
@Override
public void onDelete(PromoModel payload, int position) {
}
};
untuk item recycler harus membuat kelas/class baru dengan extends Parent implement SingleAdapterRow<Model>
Seperti :
class ItemPromo extends Parent implements SingleAdapterRow<PromoModel> {
}
Parent
bisa diganti View lainnya misal LinearLayout
atau View lain
xml layout itemnya menjadi:
<com.trian.damai.ui.home.ItemPromo
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
...
kemudian implement binView
dan onFinishInflate
Button btn ;
TextView tv;
@Override
protected void onFinishInflate() {
super.onFinishInflate();
//disini inisiasi view
btn = (Button) findViewById(R.id.button);
tv = (Button) findViewById(R.id.textview);
}
@Override
public void bindView(PromoModel data, onEventClick<PromoModel> eventClick, int position) {
// disini setdata ke view
// contoh:
tv.setText(data.getTitle());
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
eventClick.onDetail(data,position);
}
});
}
}
Untuk men-set data ke adapter
- Di konstruktor langsung
List<PromoModel> data = new ArrayList<>();
SingleAdapter<PromoMode> adapter = new SingleAdapter<>(R.layout.item_food_promo, p,data);
- Atau gunakan method
setData
danaddData
setData
List<PromoModel> data = new ArrayList<>();
adapter.setData(data);
addData
PromoModel data = new PromoModel();
adapter.addData(data);
Extra
- Kita bisa menambahkan animasi di adapternya(secara default menggunakan fade_in)
- Animasi yang tersedia
SingleAnimation.fade_in
SingleAnimation.fade_out
SingleAnimation.slide_left
SingleAnimation.slide_right
Untuk menentukan animasi gunakan:
adapter.setAnimation(SingleAdapter.SingleAnimation.fade_in);
Cara install
- Tambahkan JitPack repository ke build file
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
- Tambahkan dependency
dependencies {
...
implementation 'com.github.triandamai:singleadapter:v1.0.5'
}
#ChangeLog
- Animation
- DiffUtil
Next
- mendukung dataBinding
- menambah animasi