У меня есть просмотр списка, который отображает записи, которые, когда пользователь нажимает на выбор, отображают изображение во втором действии. Я хотел бы, чтобы пользователи затем могли провести (или нажать кнопку), чтобы просмотреть следующее изображение в массиве. Мой код в настоящее время компилируется и передает изображения в действие imageDisplay. Мне интересно, что мне нужно реализовать, чтобы пользователь мог провести пальцем по экрану или нажать кнопку, чтобы увидеть следующую картинку. У кого-нибудь есть пример кода, который может помочь мне решить эту проблему?
Код ListView:
public class adultcardiaclist extends AppCompatActivity {
private AdView mAdView;
ListView listview;
private int proceduresone[] = {
R.drawable.procedures1,
R.drawable.procedures2,
R.drawable.procedures3,
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_adultcardiaclist);
MobileAds.initialize(this, "ca-app-pub-9944401739416572~8067453677");
mAdView = (AdView) findViewById(R.id.adviews);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
Button b1 = (Button) findViewById(R.id.homebutton);
//Home Button-----------------------------------------------------------------------------------------------------
b1.setOnClickListener(new View.OnClickListener () {
public void onClick(View view) {
Intent protocolcata = new Intent(adultcardiaclist.this, HomeScreen.class);
startActivity(protocolcata);
}
});
// myImageList.add(new ImageDisplay("", R.drawable.ekghomepic));
final Context context = getApplicationContext();
//list contains image name, image location
final List<ImageDisplay> myImageList = new ArrayList<ImageDisplay>();
myImageList.add(new ImageDisplay("Asystole / PEA", proceduresone[1]));
myImageList.add(new ImageDisplay("Asystole / PEA Page 2", R.drawable.procedures6));
myImageList.add(new ImageDisplay("Bradycardia", R.drawable.procedures5));
//define ListView and create onItemClick Listener
listview = (ListView) findViewById(R.id.adultcardiaclistview);
ArrayAdapter<ImageDisplay> arrayAdapters = new ArrayAdapter<ImageDisplay>(this, R.layout.support_simple_spinner_dropdown_item, myImageList);
listview.setAdapter(arrayAdapters);
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent myIntent = new Intent(context, imagedisplay.class);
myIntent.putExtra("name", myImageList.get(position).getName());
myIntent.putExtra("imagePath", myImageList.get(position).getPath());
startActivityForResult(myIntent, 0);
}
});
}
public class ImageDisplay {
private String Name;
private int Path; // use String if you use a path, in here i'm storing image in drawable
@Override
public String toString() {
return Name;
}
public ImageDisplay() {
}
public ImageDisplay(String name, int path) {
this.Name = name;
this.Path = path;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public int getPath() {
return Path;
}
public void setPath(int path) {
this.Path = path;
}
}
}
Код активности ImageDislay:
public class imagedisplay extends AppCompatActivity {
private Integer images[] = {R.drawable.procedures1, R.drawable.procedures2, R.drawable.procedures3};
private int currImage = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_imagedisplay);
ImageView imageView = (ImageView) findViewById(R.id.imageView3);
Intent myItent = getIntent();
String Name = myItent.getStringExtra("name"); //Do whatever you need with image title
int Path = myItent.getIntExtra("imagePath", 0); //pass this to ImageView
imageView.setImageResource(Path);
TouchImageView img = new TouchImageView(this);
img.setImageResource(Path);
img.setMaxZoom(4f);
setContentView(img);
}
}