在按钮上单击它会更新第二个活动微调器和textviews

时间:2018-11-09 15:35:02

标签: java android arrays xml android-intent

我正在创建一个有2个活动的应用程序。主要活动有三个具有不同电影类型的按钮。单击三个按钮中的任何一个后,应转到包含以下内容的第二个活动:

2个微调框:显示电影名称,1个显示电影时间 2个textview以显示电影分级和演员表 textview打开日历

微调框应根据所选的电影类型以及电影分级和演员表的文本视图进行更新

到目前为止,我已经为主要活动和类创建了XML,以创建一个数组列表来保存电影详细信息。我也确实打算转到下一页,但我对如何仅在选定类型的转盘中显示电影感到困惑。

2 个答案:

答案 0 :(得分:0)

最简单的方法是将内容传递给下一个活动:

Intent i = new Intent(context,activity2.class);
i.putExtra("genre", mGenre);  
startActivity(i);  

然后在Activity2载入时,您可以拉流派:

String genre = getintent().getStringExtra("genre");  

然后,您根据类型填充列表。如果您不想处理字符串,也可以通过int。

答案 1 :(得分:0)

您应将电影课Serializable设置为下一个活动。 我可以在下面提到的两种方法来实现:

  1. http://www.parcelabler.com/
  2. https://github.com/johncarl81/parceler

然后,您可以将ArrayList传递给第二个活动。

FirstActivity

ArrayList<Movie> myMovieList = new ArrayList<>();
...
Intent intent = new Intent(context, secondActivity.class);
i.putExtra("my_movie_list", myMovieList);  
startActivity(i); 

SecondActivity

ArrayList<Movie> myMovieList = getintent().getExtra("my_movie_list");  

更新(从电影列表中提取特定电影):

        List<Movie> selectedMovieList = new ArrayList<>();
        for(int i=0 ; i < movieList.size(); i++ ) {
            if(movieList.get(i).getGenre().equals("selected_genre_name")) {
                selectedMovieList.add(movieList.get(i));
            }
         }