java - Android 应用程序显示线程错误

标签 java android

我正在尝试开发一个非常基本的应用程序,以便暂时使用 android 框架。我创建了一个包含 3 个 Activity 的简单应用程序。一种将数据插入数据库,一种处理确认消息,最后一种显示到目前为止输入的数据。

我从列表 Activity (最后执行的)中收到此错误 Check picture to see error

我不太清楚为什么会发生这种情况,但这就是 logcat 输出。我想做的就是在该 Activity 中执行以下操作:

 HttpResponse response = httpClient.execute(httpPost);
            HttpEntity resEntity = response.getEntity();

            if (resEntity != null) {

                String responseStr = EntityUtils.toString(resEntity).trim();
                Log.v(TAG, "Response: " +  responseStr);
                  TextView responseSimpleText = new TextView(this);
                  responseSimpleText.setText(responseStr.toString());
                // you can add an if statement here and do other actions based on the response

                setContentView(responseSimpleText);
            }else{
                Log.v("ListingAcitivty.java", "Response is Null");
            }

有人可以指出发生了什么吗?我正在使用 AsyncTask,并且使用它成功插入了数据。

最佳答案

从异常来看,您似乎正在尝试从与 UI 线程不同的线程更改 UI 上的某些内容。你不能直接这样做。

Because tasks that you run on a thread from a thread pool aren't running on your UI thread, they don't have access to UI objects.

来自:https://developer.android.com/training/multiple-threads/communicate-ui.html

该页面还解释了如何处理这种情况。

关于java - Android 应用程序显示线程错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17681506/

相关文章:

java - 错误:(3, 31)java : cannot access org. neo4j.configuration.GraphDatabaseSettings

java - javamail 中使用的 mail.smtp.sendpartial 属性是否特定于 sun 实现?

java - 过滤 firebase 中的子数据

android - 在应用程序中使用 Android 机器人图标(版权法、服务条款)

java - 使用 Android 进行 Tinify API

java - 使用 Java Swing 优化窗口大小

php - android in app billing v3 与 php

android - 在 java 中以编程方式对 Apk 文件进行签名

java - 如何使用 iText 将 URL 添加到 PDF 文档?

android - android开发的cpu和内存密集度如何?