我有两个活动,第一个包含一个包含 30 个显示国籍的项目的列表视图,第二个包含一个列表视图的活动应该在第一个活动中单击时显示来自该国籍的玩家的姓名。我怎么能只用两个活动来做到这一点?ps:我现在才从 youtube 和 stackoverflow 学习一年。
1 回答
0
从附加到 Activity A ListView 的适配器,在 ListView 的每个位置上设置 onClickListener 以通过 Intent 启动 Activity B,并将国籍作为额外传递;在活动B中:您将检索intent extra,即国籍,因此,将制作一个具有国籍和玩家姓名列表的POJO并将其存储到数据库中(最好使用ROOM):最后,从数据库中检索所有从 Intent extra 中检索到的与国籍相关的存储在数据库中的玩家姓名。您的数据库查询将加载国籍等于检索到的国籍的所有数据(球员姓名)。
您的 POJO 也是您的实体类(如果使用 ROOM)可能如下所示;
@Entity(tableName = "Data")
public class DataObject {
@PrimaryKey(autoGenerate = true)
private int id;
private Nationality nationality;
private ArrayList<PlayersName> playersName;
@Ignore
public DataObject() {
this.nationality = nationality;
this.playersName = playersName;
}
public DataObject( int id, Nationality nationality, ArrayList<PlayersName> playersName) {
this.id = id;
this.nationality = nationality;
this.playersName = playersName;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public Nationality getNationality() {
return nationality;
}
public void setNationality(Nationality nationality) {
this.nationality = nationality;
}
public ArrayList<PlayersName> getName() {
return name;
}
public void setName(ArrayList<PlayersName> name) {
this.name = name;
}
}
于 2018-10-14T14:23:30.050 回答