Skip to content

Repository files navigation

RecyclerViewImageDynamic

  • gradle
//maven { url 'https://jitpack.io' }
implementation 'com.github.gzeinnumer:EasyExternalDirectoryAndroid:2.2.0'
implementation 'com.github.gzeinnumer:RecyclerViewAdapterBuilder:2.2.0'
  • Take Image From Camera Tutorial

  • item_rv.xml

<?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:gravity="center"android:orientation="horizontal">
<ImageViewandroid:id="@+id/btn"android:layout_width="match_parent"android:layout_height="wrap_content"android:scaleType="center"android:src="@drawable/ic_baseline_add_a_photo_24" />
</LinearLayout>
publicclassMainActivityextendsAppCompatActivity {
privateAdapterCreator<String> adapterRV;
privateArrayList<String> arrayList = newArrayList<>();
@OverrideprotectedvoidonCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
...
initAdapter();
}
privatevoidinitAdapter() {
arrayList.add("1");
AdapterCreator<String> adapter = newAdapterBuilder<String>(R.layout.item_rv)
.setList(arrayList)
.onBind(newBindViewHolder<String>() {
@Overridepublicvoidbind(AdapterCreator<String> adapter, Viewholder, Stringdata, intposition) {
//adapter.notifyDataSetChanged();adapterRV = adapter;
//R.layout.rv_item = RvItemBindingItemRvBindingbindingItem = ItemRvBinding.bind(holder);
bindingItem.btn.setOnClickListener(newView.OnClickListener() {
@OverridepublicvoidonClick(Viewv) {
dispatchTakePictureIntent(bindingItem.btn);
}
});
}
});
recyclerView.setAdapter(adapter);
recyclerView.hasFixedSize();
recyclerView.setLayoutManager(newLinearLayoutManager(getApplicationContext()));
}
privatevoidinitGetDataPerIndex() {
Stringstr = "";
intcountItem = adapterRV.getItemCount();
for (inti=0; i<countItem; i++){
BaseBuilderAdapter.MyHolderholder = (BaseBuilderAdapter.MyHolder) recyclerView.findViewHolderForAdapterPosition(i);
str += i +"_";
}
Toast.makeText(this, str, Toast.LENGTH_SHORT).show();
}
privateImageViewimageView;
privatestaticfinalintREQUEST_TAKE_PHOTO = 2;
privateFilemPhotoFile;
privateFileCompressormCompressor;
@SuppressLint("QueryPermissionsNeeded")
privatevoiddispatchTakePictureIntent(ImageViewbtn) {
imageView = btn;
...
}
@OverrideprotectedvoidonActivityResult(intrequestCode, intresultCode, Intentdata) {
...
Glide.with(MainActivity.this).load(mPhotoFile).into(imageView);
...
}
}

Copyright 2021 M. Fadli Zein

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages