【发布时间】:2018-08-16 10:10:44
【问题描述】:
我正在尝试找出 androidhelper,我发现它对于使用 python 3 和 Android 非常有用。我正在尝试使用 dialogSetChoiceItems 从列表中返回一个选择。我已经设置好了,并且尝试了各种方法。我会返回一些东西,但它是列表的长度。任何帮助,将不胜感激。谢谢,
#-*-coding:utf8;-*-
#qpy:3
#qpy:console
import androidhelper
droid = androidhelper.Android()
def test_alert_dialog_with_single_choice_list(Title, ListOfStuff):
droid.dialogCreateAlert(Title)
droid.dialogSetSingleChoiceItems(ListOfStuff)
droid.dialogSetPositiveButtonText('Select')
droid.dialogShow()
response = droid.dialogGetSelectedItems().result
return response
if __name__ == '__main__':
Listy = [1,2,3,4,5,6,7,8]
YTitle = 'Title of The Thing'
FReturn = test_alert_dialog_with_single_choice_list(YTitle, Listy)
print(FReturn)
【问题讨论】:
-
droid.dialogGetSelectedItems().result应该返回所选项目的索引列表,文档here。你得到了什么?列表的长度? -
我得到了[0]的默认选择项。如果我更改 droid.dialogSetSingleChoiceItems(ListOfStuff, selected=None) 如果我更改 droid.dialogSetSingleChoiceItems(ListOfStuff, selected=3),它会返回 3。如果我从 response = droid.dialogGetSelectedItems() 中删除 .result,我会得到以下信息:结果(id=5,结果=[0],错误=无)。我无法从列表中获得任何回报。我尝试在函数中使用列表而不通过变量传递它,但没有任何效果。
-
我不完全理解问题所在。您是否期望
droid.dialogGetSelectedItems().result返回列表中的“选定项目”?不,它没有。它以列表的形式返回“选定项目的索引”。例如,如果你给它 items["a","b","c","d"],如果你选择了 "a",它将返回 [0],如果 "b",则返回 [1],[2 ] 如果“c”...这是问题吗?也许我会写一个示例代码作为答案。
标签: qpython