import
android.content.ClipData;
import
android.content.Intent;
import
android.net.Uri;
import
android.os.Bundle;
import
android.view.View;
import
android.widget.Button;
import
android.widget.ImageSwitcher;
import
android.widget.ImageView;
import
android.widget.TextView;
import
android.widget.Toast;
import
android.widget.ViewSwitcher;
import
androidx.appcompat.app.AppCompatActivity;
import
java.util.ArrayList;
import
java.util.List;
public
class
MainActivity
extends
AppCompatActivity {
Button select, previous, next;
ImageSwitcher imageView;
int
PICK_IMAGE_MULTIPLE =
1
;
String imageEncoded;
TextView total;
ArrayList<Uri> mArrayUri;
int
position =
0
;
List<String> imagesEncodedList;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
select = findViewById(R.id.select);
total = findViewById(R.id.text);
imageView = findViewById(R.id.image);
previous = findViewById(R.id.previous);
mArrayUri =
new
ArrayList<Uri>();
imageView.setFactory(
new
ViewSwitcher.ViewFactory() {
@Override
public
View makeView() {
ImageView imageView1 =
new
ImageView(getApplicationContext());
return
imageView1;
}
});
next = findViewById(R.id.next);
next.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View v) {
if
(position < mArrayUri.size() -
1
) {
position++;
imageView.setImageURI(mArrayUri.get(position));
}
else
{
Toast.makeText(MainActivity.
this
,
"Last Image Already Shown"
, Toast.LENGTH_SHORT).show();
}
}
});
previous.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View v) {
if
(position >
0
) {
position--;
imageView.setImageURI(mArrayUri.get(position));
}
}
});
imageView = findViewById(R.id.image);
select.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View v) {
Intent intent =
new
Intent();
intent.setType(
"image/*"
);
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE,
true
);
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,
"Select Picture"
), PICK_IMAGE_MULTIPLE);
}
});
}
@Override
protected
void
onActivityResult(
int
requestCode,
int
resultCode, Intent data) {
super
.onActivityResult(requestCode, resultCode, data);
if
(requestCode == PICK_IMAGE_MULTIPLE && resultCode == RESULT_OK &&
null
!= data) {
if
(data.getClipData() !=
null
) {
ClipData mClipData = data.getClipData();
int
cout = data.getClipData().getItemCount();
for
(
int
i =
0
; i < cout; i++) {
Uri imageurl = data.getClipData().getItemAt(i).getUri();
mArrayUri.add(imageurl);
}
imageView.setImageURI(mArrayUri.get(
0
));
position =
0
;
}
else
{
Uri imageurl = data.getData();
mArrayUri.add(imageurl);
imageView.setImageURI(mArrayUri.get(
0
));
position =
0
;
}
}
else
{
Toast.makeText(
this
,
"You haven't picked Image"
, Toast.LENGTH_LONG).show();
}
}
}