java - 将数据从 RecyclerView 适配器传递到另一个 Activity

标签 java android

我创建了一个 RecyclerView,它使用复选框填充用户的联系人。 当用户单击复选框时,我想将该联系人添加到对象中。 现在我已经能够做到这一点,但我面临着将该对象从适配器发送到另一个 Activity 的问题:

@Override
public void onBindViewHolder(ViewHolder holder,  final int position){

  //  final PlayerDetails thePlayer = playerData.get(position);
  // ArrayList<PlayerDetails> thePlayer = playerData;
    //holder.playerNameNumber.setText(thePlayer.name + " " + thePlayer.number);
    holder.playerNameNumber.setText(playerData.get(position).name +playerData.get(position).number );

    holder.pickedPlayer.setOnClickListener(new View.OnClickListener(){

        @Override
        public void onClick(View thisView){
            PlayerDetails contact = new PlayerDetails();
            contact.number = playerData.get(position).name;
            contact.name = playerData.get(position).number;
            playerListGame.addPlayer(contact);
            String name = playerData.get(position).name;
            Toast.makeText(thisView.getContext(),name + " added",Toast.LENGTH_LONG).show();
        }

    });


}

当我调试上述内容时,我可以看到playerListGame包含我要添加到其中的数据。

现在,我尝试执行以下操作:

public PlayerList donePickingSendPlayers(){
   return playerListGame;
}

在我的适配器的底部。 但是当我调试时,它显示它的值为0。(我在开始时初始化了它。

如何将playerListGame发送到另一个 Activity ?

我设置了一个 float 按钮,onClick 执行以下操作:

private void donePicking(){
    ContactPickerRecyclerViewAdapter justToGetPlayerData = new ContactPickerRecyclerViewAdapter();
    justToGetPlayerData.donePickingSendPlayers();
    Intent backToComposeMessage = new Intent(this,ComposeMessage.class);
    startActivity(backToComposeMessage);
}

但这似乎不起作用“donePickingPlayers”中的playerListGame 是空的。

最佳答案

使用在 recyclerview 中设置的相同适配器对象,同时使用在适配器内创建的方法获取数据。

private void donePicking(){
ContactPickerRecyclerViewAdapter justToGetPlayerData = new 
      ContactPickerRecyclerViewAdapter();
justToGetPlayerData.donePickingSendPlayers();
Intent backToComposeMessage = new Intent(this,ComposeMessage.class);
startActivity(backToComposeMessage);

}

在此方法中,您将创建适配器类的另一个实例,该实例始终为您提供空数据。

关于java - 将数据从 RecyclerView 适配器传递到另一个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49824903/

相关文章:

java - 为什么 PriorityQueue.toString 返回错误的元素顺序?

java - 如何访问本地机器的temp目录

java - 改进 Java 中将 Json 转换为 XML 或反之亦然的程序

java - 如何在 Eclipse 中为 Glassfish 服务器构建 .war 文件

java - android 如何获取运营商功能

javascript - Android Web-View : Inject local Javascript file to Remote Webpage

android - 有没有更好的方法来使用引用表来选择值(SQLite)

java - OPC DA/DCOM示例java源代码,可以从服务器接收标签

Android Market 发布问题

android - AutoCompleteTextView 右侧的加载指示器