1
我有一个视图,它使用AsyncTask来制作动态表格。唯一的麻烦是在这期间我创建了一些复选框,但是一旦用户检查了它们,我想禁用该框。但由于它们被创建的动态方式,我无法获得将它们设置为禁用的参考。刷新视图?
因此,这里是我如何在一个循环中创建的按钮:
while(it.hasNext()){
if(checkStatus(it.next())){
myCheckbox.setChecked(true);
myCheckbox.setEnabled(false);
}else{
myCheckbox.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
buyU asyncTask = new buyU();
asyncTask.execute("value1");
}
});
}
}
所以当按钮被按下我的AsyncTask运行。但我无法修改复选框,因为我没有它的参考。我不能传递引用我不认为,因为我使用传递参数发送一个字符串与几个值。所以我想最简单的方法就是再次刷新整个页面。
这样做的好方法是什么?
或者,我还可以将按钮作为对象传递给asyncTask以及字符串,并将它们转换回另一端的类型?
这是天才,我不知道你可以做到这一点。我知道你可以在其他类上做,但由于某种原因,从来没有想过用Async。感谢所有的建议,你是明星! – 2013-03-18 17:06:38
此循环在asyncTask中的postExcute中运行,并且在执行时会显示进度对话框,因此它不应该成为UI的问题? – 2013-03-18 17:10:08
@EricBanderhide如果一个循环在UI线程中运行,即使你有一个对话框,你仍然阻塞该线程。 Android应该仍然提供关闭应用程序*如果它是一个长时间运行的循环。你应该做一些测试并亲自看看。 – 2013-03-18 19:56:18