2017-07-03 63 views
-5

我有一个带有内部类的简单类。如何设置一个类的值

我想设置如下:

users[0][user_id]=8 
users[1][user_id]=25 

这是类:

public class ChatRequest { 

    private List<Userbean> users; 

    public List<Userbean> getUsers() { 
     return users; 
    } 

    public void setUsers(List<Userbean> users) { 
     this.users = users; 
    } 

    public static class Userbean { 

     private int user_id; 

     public int getUser_id() { 
      return user_id; 
     } 

     public void setUser_id(int user_id) { 
      this.user_id = user_id; 
     } 
    } 
} 

我尝试过,但没有成功。

我如何设置第一用户的8个用户ID和第二用户的用户ID,以25?

+0

请阅读[mcve]。我没有太多线索你在问什么。 – GhostCat

+0

这些是Java的基础。这与Android SDK或任何其他框架没有任何关系。请先了解一下java的基本... – StefMa

回答

1

设置这些值应使用此代码:

users.get(0).setUser_id(8);

users.get(1).setUser_id(25);

+0

和我的模型是真的吗? –

+0

是的,你的模型和你的课程是真实的。我们在谈论Java基础知识而不是android :) – Karim

2

这些都是Java的基本。在参考Android SDK或其他内容之前,请查看Java学习书籍/页面。

但是,你的“模型”(或简单的类)是正确的。要使用这些类(并设置所需的ID),首先需要一些UserBean的实例。

final ChatRequest.Userbean user0 = new ChatRequest.Userbean() 
final ChatRequest.Userbean user1 = new ChatRequest.Userbean() 

然后您可以将ID设置为它:

user0.setUser_id(8); 
user1.setUser_id(25); 

给这些用户终于添加到ChatRequest你需要的是一个实例,以及:

final ChatRequest chatRequest = new ChatRequest(); 

添加用户一个简单的通话这样的:

chatRequest.setUsers(Arrays.asList(user0, user1)); 

要清楚。这些是创建实例和为类/“模型”设置一些值的基础。

我想回答你的问题,我们需要一些“前提条件”。我们假设“某人”已经创建了一些用户,并将其设置为“回调”中收到的ChatRequest对象。若要更改Userbean的某些属性,可以按以下方式完成值:

@Override 
public void onChatRequestCreated(ChatRequest request) { 
    request.getUsers().get(0).setUser_id(8); 
    request.getUsers().get(1).setUser_id(25); 
} 
+0

我设置了'ChatRequest chatRequest = new ChatRequest(); chatRequest.getUsers()得到(0).setUser_id(8);'是错误 –

+0

显然。您尚未创建用户并将其设置为ChatRequest。请再次仔细阅读我的答案......它回答你所有的疑问。 – StefMa