if resp['which'] in ('positive'): selected_athlete=app.dialogGetSelectedItems().result[0] which_athlete = athlete_names[selected_athlete] athlete=json.loads(send_to_server(web_server+get_data_cgi,{'which_athlete':which_athlete})) athlete_title = athlete['Name'] + ' (' + athlete['DOB'] + '), top 3 times:' app.dialogCreateAlert(athlete_title) print(athlete['Top3']) app.dialogSetItems(athlete['Top3']) app.dialogSetPositiveButtonText('OK') app.dialogShow() resp = app.dialogGetResponse().result
print(athlete['Top3']) 是list
app.dialogSetItems(athlete['Top3']) 报错
查看sl4a api dialogSetItems 参数为list即可
不知什么原因??求解??是json loads后字符转换成unicode吗???
怎么解决??求大牛解惑??
print(athlete['Top3']) 是list,但是它不一定就是list,是不是只是长得像list??
用chardet来检测下你的athlete['Top3']是什么类型的
按照当时Athlete对象的定义,athlete['Top3']调用的是
def to_dict(self):
athlete_dict = {}
athlete_dict['Name'] = self.name
athlete_dict['DOB'] = self.dob
athlete_dict['Top3']= self.top3
return(athlete_dict)
athlete['Top3']的结果就是一个list,我估计是你没生成json数据,你先把生成的json数据页面打开看看。