- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我尝试跨 AsyncTaks 修改 Spinner 内容,但我不能,Logcat 写为“09-19 16:36:11.189: ERROR/ERROR THE(6078): 只有创建 View 层次结构的原始线程可以触摸它的 View 。”。
public class GetGroups extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
Spinner combo = (Spinner) findViewById(R.id.group_combo);
setGroups(combo);
return null;
}
@Override
protected void onPostExecute(Void unused)
{
super.onPostExecute(unused);
Spinner combo = (Spinner) findViewById(R.id.severity_combo);
combo.setSelection(1);
//updateGroups();
//if (!isFinishing())
//{
/*Spinner combo = (Spinner) findViewById(R.id.group_combo);
ProgressBar pg = (ProgressBar) findViewById(R.id.loading_group);
pg.setVisibility(ProgressBar.GONE);
combo.setVisibility(Spinner.VISIBLE);
combo.setSelection(0);*/
//}
}
}
}
函数setGroups是:
public void setGroups(Spinner combo) {
try {
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(this.object.url);
List<NameValuePair> parameters = new ArrayList<NameValuePair>(2);
parameters.add(new BasicNameValuePair("user", this.object.user));
parameters.add(new BasicNameValuePair("pass", this.object.password));
parameters.add(new BasicNameValuePair("op", "get"));
parameters.add(new BasicNameValuePair("op2", "groups"));
parameters.add(new BasicNameValuePair("other_mode", "url_encode_separator_|"));
parameters.add(new BasicNameValuePair("return_type", "csv"));
parameters.add(new BasicNameValuePair("other", ";"));
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(parameters);
httpPost.setEntity(entity);
HttpResponse response = httpClient.execute(httpPost);
HttpEntity entityResponse = response.getEntity();
String return_api = this.object.convertStreamToString(entityResponse.getContent());
String[] lines = return_api.split("\n");
ArrayList<String> array = new ArrayList<String>();
for (int i= 0; i < lines.length; i++) {
String[] groups = lines[i].split(";", 21);
this.pandoraGroups.put(new Integer(groups[0]), groups[1]);
array.add(groups[1]);
}
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item,
array);
combo.setAdapter(spinnerArrayAdapter);
}
catch (Exception e) {
Log.e("ERROR THE ", e.getMessage());
return;
}
}
怎么了?谢谢。
最佳答案
正如 Peter 所提到的,您无法使用 doInBackground()
访问 View 。但是,您可以在 onPostExecute()
中执行此操作。据我所知,这就是您应该处理 doInBackground()
返回结果的地方。
我遇到了这个问题,并通过将 View 修改代码移动到 onPostExecute()
来修复它。
致那些刚开始接触 Android 开发的人:
- doInBackground()
:与您的 View /fragment/Activity 运行的主线程/原始线程不同的另一个线程(在后台)发生的任何内部情况(这是 AsyncTask< 的重点
==> 你不能触摸 View !
- onPostExecute()
:现在后台工作已经完成,这里它回到了主/线程线程 ==> 你现在可以触摸 View 了!
关于android - 异步任务 "Only the original thread that created a view hierarchy can touch its views.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7474379/
我们正在创建一个 REST API,我们目前有两种定义资源的方法。 基本上我们有 Patients , Studies和 Images哪里Patient有 n Studies和一个 Study有 n
我想知道哪一种更好的方法来实现一个被设计为具有复杂 subview 层次结构的 View ,比如说一个 View ,左侧有一个 subview ,右侧有一个 subview ,左侧 subview 有
启动布局检查器时收到错误消息:“获取 View 层次结构时出错:意外错误:空 View 层次结构”。 同样在 Logcat 中有一个异常(exception): 12-10 23:46:56.812
我一直在寻找要在我工作的公司的Web开发部门中实施的Web开发人员指定层次结构。 例如:关联Web开发人员-> Web开发人员->高级Web开发人员->接下来做什么? 请建议..! 最佳答案 “Web
我明白那个: 更快 访问时间> 更多 昂贵的 较慢 访问时间> 减 昂贵的 我也明白寄存器是层次结构的顶部,并且具有最快的访问时间。我很难研究的是为什么它这么贵?据我所知,寄存器实际上是直接内置在 A
我希望有人经历过相同的过程并可以帮助我看看以下情况是否可能。 我目前构建了一个从 S3 存储桶进行复制的管道。该存储桶包含大量文件夹。 Azure 数据工厂是否有办法在从 S3 存储桶复制数据时忽略文
在我看来,定义 static namedQueries = {} 在层次结构的子类中完全屏蔽了父类(super class)的 namedQueries 声明。有没有办法让两者都工作?说使用 supe
我希望有人经历过相同的过程并可以帮助我看看以下情况是否可能。 我目前构建了一个从 S3 存储桶进行复制的管道。该存储桶包含大量文件夹。 Azure 数据工厂是否有办法在从 S3 存储桶复制数据时忽略文
我遇到了以下嵌套数组,并且对它为什么使用这种特定语法有点困惑: var allQuestions = [{ question: "Which company first implemented
在过去的一个月里,我一直在构建一个 Drupal 8 站点,它应该有一个类似于这样的愚蠢的简单页面层次结构: Parent Page --Child Page --Child Page ----Gra
我正在寻求理解 Delphi 7 中其他人的代码(我怀疑较新的版本内置了此代码,但我不想为最新版本花费 > 1000 美元)。 他们有(最好是FOSS)工具可以帮助我生成类层次结构图吗? 其实就是G
我目前有这两个实体:名义上的和熟悉的(家庭/亲属/亲戚)。 熟悉的 [0..*][1] 标题 这两个类具有一个人的共同属性(名字,姓氏,出生日期......),并且它们是两种附属 我想将它们统一在一个
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 10 年前。 Improve thi
是否可以通过层次结构 id 对层次结构中的 sql 数据进行排序,然后对于每个级别排序它按字母顺序说? 假设我们有一个员工表,它根据员工 ID 列出组织层次结构 你有鲍勃 (5),菲尔 (17) 和查
public class OrderEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Colu
我想知道如何编写 postgres 子查询,以便下表示例输出我需要的内容。 id parent_id postdate 1 -1 2015-03-10 2 1
我正在建立一个分类网站。你能建议我怎么做吗基于国家/地区的分区地理位置表 ??? 更新:我可以根据纬度和经度做吗? 下面是我的表结构。 CREATE TABLE IF NOT EXISTS `geo`
我正在使用 Android SDK 附带的 Hierarchy Viewer 工具进行一些测试。 我正在测试的 Activity 具有以下 xml: Sl
我已经对此进行了研究,并且知道我不是第一个提出问题的人,但我似乎无法理解它。我创建了一个简单的示例,如果有人可以提供缺失的链接,我认为它可以帮助我破解它! 我有一个区域表,其中包含层次结构中的大陆和国
我在第一个真正的 iPhone 应用程序上遇到了一些困难,想获得一些关于如何构建它的建议。我正在寻找一些关于创建 UI 组件并将它们链接在一起以创建应用程序流(以编程方式创建 View / Contr
我是一名优秀的程序员,十分优秀!