Я пытаюсь добавить информацию о фильмах в Recyclerview при нажатии кнопки. У меня есть 2 мероприятия. Я могу добавить детали фильмов в первом упражнении и просмотреть список фильмов во втором упражнении. Первое действие содержит кнопку отправки для добавления фильмов.
Но проблема, с которой я сталкиваюсь, заключается в том, что я могу добавлять фильмы только в первый ряд , Если я пытаюсь добавить еще один mov ie, он заменяет первый ряд. Я хочу создать список фильмов по нажатию кнопки. Как мне это сделать? Приведенный ниже код представляет собой Основное действие (Первое действие).
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setActionBarColour();
clickEvents();
}
private void clickEvents()
{
final EditText editTextMovieName = findViewById(R.id.movieName);
final EditText editTextGenre = findViewById(R.id.genre);
final EditText editTextReleaseYear = findViewById(R.id.year);
Button submit = findViewById(R.id.btnSubmit);
Button movieList = findViewById(R.id.btnMovieList);
final Bundle bundle = new Bundle();
submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String name = editTextMovieName.getText().toString();
String genre = editTextGenre.getText().toString();
String year = editTextReleaseYear.getText().toString();
bundle.putString("MOVIE_NAME", name);
bundle.putString("GENRE", genre);
bundle.putString("YEAR", year);
}
});
movieList.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this, MovieListActivity.class);
intent.putExtras(bundle);
startActivity(intent);
}
});
}
private void setActionBarColour()
{
ActionBar actionBar;
actionBar = getSupportActionBar();
ColorDrawable colorDrawable = new ColorDrawable(Color.parseColor("#3498DB"));
assert actionBar != null;
actionBar.setBackgroundDrawable(colorDrawable);
}
}
Этот приведенный ниже код является только функцией во Втором упражнении для получения данных
private void prepareMovieData()
{
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
String movieName = bundle.getString("MOVIE_NAME");
String genre = bundle.getString("GENRE");
String year = bundle.getString("YEAR");
Movie movie = new Movie(movieName,genre,year);
movieList.add(movie);
}
Если я редактирую вышеуказанное код
Movie movie = new Movie(movieName,genre,year);
movieList.add(movie);
Movie movie2 = new Movie(movieName,genre,year);
movieList.add(movie2);
Я могу добавить только 2 фильма. Если я хочу поставить 3 фильма, то мне нужно было бы добавить третье утверждение, подобное этому
Movie movie3 = new Movie(movieName,genre,year);
movieList.add(movie3);
Чем больше фильмов я хочу, тем больше строк кода я должен написать. Так как же поставить большое количество фильмов на клик?