使用Arraylist将其部分数据显示到Android setMultiChoiceItems(Alert Dialog)

时间:2017-02-07 03:38:49

标签: java android

我有一个使用
public static ArrayList<UserData> userDataList = new ArrayList<>();的存储在ArrayList中的JSON文件 我还有一个类,即UserData,用于存储多个数据。这是代码:

private String sid;
private String symp_name;
private String symp_part;

public UserData(String sid, String symp_name, String symp_part){
    this.sid = sid;
    this.symp_name = symp_name;
    this.symp_part = symp_part;
}

public String getSid() {
    return sid;
}
public String getSymp_name() {
    return symp_name;
}
public String getSymp_part() {
    return symp_part;
}

请求JSON对象后,我使用userDataList.add(data)将数据存储在数组中。

现在我想将symp_name显示到android setMultipleChoiceItem中。我注意到setMultipleChoiceItem接受CharSequence作为其参数。所以我不知道如何将symp_name转换为char序列。 我尝试使用此代码:

ArrayList<UserData> spart = MainActivity.userDataList;
UserData symp = spart.get(spart.size());
CharSequence[] symptom = symp.getSymp_name();

不幸的是,它不起作用。任何帮助,将不胜感激。谢谢:))

2 个答案:

答案 0 :(得分:2)

ArrayList<UserData> spart = MainActivity.userDataList;
UserData symp = spart.get(spart.size());// it will return a single object

CharSequence[] symptom = symp.getSymp_name(); // this will return a single name which you are trying to feed into Array.

您可以在遍历spart arraylist

时创建Char数组

CharSequence[] symtoms= new CharSequence[spart.size()] for(int i =0;i<spart.size();i++){ charSequences[i]= spart.get(i). getSymp_name(); }

现在使用setMultichoice调用将此charSequence设置为alertDialog。 希望这可以解决您的问题。

答案 1 :(得分:0)

访问How to convert a String to CharSequence? 这个问题可以让你知道如何将symp_name转换为char序列。 如果您的问题仍然没有解决。我建议您调试项目以查看变量&#34; symp&#34;是否正确