<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutandroid:orientation="vertical">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"android:layout_weight="1" />
<Buttonandroid:id="@+id/button"android:text="Add Item" />
<Buttonandroid:id="@+id/getAllData"android:text="Get All Data" />
<TextViewandroid:id="@+id/textView"android:textAlignment="center"android:textSize="20sp" />
</LinearLayout><?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="8dp"android:orientation="horizontal">
<EditTextandroid:id="@+id/editText"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:hint="Input Here" />
<ImageViewandroid:id="@+id/btn"android:layout_width="wrap_content"android:layout_height="match_parent"android:adjustViewBounds="true"android:scaleType="fitStart"android:src="@drawable/ic_baseline_delete_24" />
</LinearLayout>publicclassDynamicAdapterextendsRecyclerView.Adapter<DynamicAdapter.MyHolder> {
publicArrayList<String> list;
publicDynamicAdapter(ArrayList<String> list) {
this.list = list;
}
publicvoidadd() {
list.add("");
notifyItemInserted(list.size() - 1);
}
...
@OverridepublicvoidonBindViewHolder(@NonNullMyHolderholder, intposition) {
holder.bindData(list.get(position));
holder.btn.setOnClickListener(newView.OnClickListener() {
@OverridepublicvoidonClick(Viewv) {
list.remove(position);
notifyItemRemoved(position);
// notifyItemRangeChanged(position,list.size());
}
});
}
...
publicstaticclassMyHolderextendsRecyclerView.ViewHolder {
publicEditTexteditText;
publicImageViewbtn;
...
}
}publicclassMainActivityextendsAppCompatActivity {
DynamicAdapteradapter;
...
@OverrideprotectedvoidonCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayList<String> arrayList = newArrayList<>();
arrayList.add("M");
arrayList.add("Fadli");
arrayList.add("Zein");
adapter = newDynamicAdapter(arrayList);
adapter.add();
recyclerView.setAdapter(adapter);
recyclerView.hasFixedSize();
recyclerView.setLayoutManager(newLinearLayoutManager(getApplicationContext()));
addItem.setOnClickListener(newView.OnClickListener() {
@OverridepublicvoidonClick(Viewv) {
adapter.add();
}
});
getAllData.setOnClickListener(newView.OnClickListener() {
@OverridepublicvoidonClick(Viewv) {
initGetDataPerIndex();
}
});
}
privatevoidinitGetDataPerIndex() {
Stringstr = "";
intcountItem = adapter.getItemCount();
for (inti=0; i<countItem; i++){
DynamicAdapter.MyHolderholder = (DynamicAdapter.MyHolder) recyclerView.findViewHolderForAdapterPosition(i);
str = str + holder.editText.getText()+",";
}
textView.setText(str);
}
...
}Preview :
![]() | ![]() | ![]() |
|---|
Copyright 2020 M. Fadli Zein


