Можно ли использовать одно действие и использовать кнопку для назначения этого действия и отображать разные данные при каждом запуске этого действия? - PullRequest
0 голосов
/ 20 июня 2019

Я хочу оцифровать графическую книгу.моя книга состоит из 7 глав.Я работаю над первой главой.до сих пор у меня есть два действия, основное действие (оглавление) с кнопкой, чтобы перейти к plateActivity.пока проблем нет.в первой главе 100 страниц, я не хочу использовать viewPager.Я создал две кнопки на каждой стороне макета для перехода на следующую и предыдущую страницы.но в моем коде я использую эти кнопки, чтобы снова начать эту самостоятельную деятельность с новыми данными (выборка из базы данных), это также работает!и у меня нет никаких ошибок.Я хочу знать, есть ли лучший подход и есть ли причина для меня, чтобы не использовать этот подход?это упрощенная концепция моей деятельности.код прост и не требует пояснений!

package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import com.blogspot.atifsoftwares.animatoolib.Animatoo;

public class plateActivity extends AppCompatActivity {
 //this imageview is symbol for content
 ImageView imageView;
 //book page number
 String plateNum;
 //name of image in drawables
 String imageName;
 // id of image in drawables
 int picId;
 //next page number
 String nextPlate;
 // previous page number
 String prevPlate;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_plate);
  plateNum = getIntent().getStringExtra("plateNum");
  imageName = "n" + plateNum;
  picId = getResources().getIdentifier(imageName, "drawable", getPackageName());
  imageView = findViewById(R.id.imageView3);
  imageView.setImageResource(picId);
 }


 public void prevPlate(View view) {
  prevPlate = (Integer.parseInt(plateNum) - 1) + "";
  Intent intent = new Intent(this, plateActivity.class);
  intent.putExtra("plateNum", prevPlate);
  startActivity(intent);
  //library to animate slide page transitions
  Animatoo.animateSlideRight(this);

 }

 public void nextPlate(View view) {
  nextPlate = (Integer.parseInt(plateNum) + 1) + "";
  Intent intent = new Intent(this, plateActivity.class);
  intent.putExtra("plateNum", nextPlate);
  startActivity(intent);
  //library to animate slide page transitions
  Animatoo.animateSlideLeft(this);


 }
}
...