Handler.post()线程,正在崩溃的应用程序

亚历克斯

我正在开发一个有两个活动的应用程序。MainActivity必须编辑ext,以便将IP地址和带有意图的端口发送到第二个Activity2。

我的问题是,当我Handler.post()为了更新UI线程中的TextView而使用时,应用崩溃。没有处理程序线程应用程序正确运行。我认为我的代码是正确的,但我无法理解此问题的原因。

public class Activity2 extends Activity {

private Socket s;
private OutputStream out = null;
private PrintWriter w = null;
private Handler handler = new Handler();
private TextView textView1;
private String tag = "ALEX";
private static String IP;
private static int port;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity2);

    Bundle extras = getIntent().getExtras(); 
    if (extras != null) {
        IP = extras.getString("IP");
        String port2 = extras.getString("PORT");
        port = Integer.parseInt(port2);
        // Log.v("ip",ip);
        // Log.v("port",port);
    }

Runnable runnable = new Runnable() {
        public void run() {

            synchronized (this) {
                try {
                    s = new Socket(IP, port);
                    out = s.getOutputStream();
                    w = new PrintWriter(out);
                } catch (Exception e) {
                    Log.v("error socket", "Alex soc");
                    e.printStackTrace();
                }
            }

            **handler.post(new Runnable() {
                @Override
                public void run() {
                    synchronized (this) {
                        try {
                            Thread.sleep(1000);
                            if (s.isConnected)
                                textView1.setText("connected...");
                            // textView1.setText("not connected...");
                        } catch (InterruptedException e) {
                            // TODO Auto-generated catch block
                            Log.v("error handler", "handler Alex");
                            e.printStackTrace();
                        }
                    }
                }
            });**

        }
    };
    Thread mythread = new Thread(runnable);
    mythread.start();
我先生

问题在于,一旦创建了活动对象,便要创建处理程序对象。

准备Looper之后,应创建处理程序

所以你的代码应该是这样的:

private Handler handler;
private TextView textView1;
private String tag = "ALEX";
private static String IP;
private static int port;

@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity2);
  handler   = new Handler();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Handler.post()线程,正在崩溃的应用程序

来自分类Dev

ImageView正在崩溃应用程序

来自分类Dev

pyQt和线程应用程序崩溃

来自分类Dev

Android Handler实例线程安全

来自分类Dev

为什么Handler.Post阻塞主线程

来自分类Dev

Handler.handleMessage在测试中未调用,但在应用程序中被调用

来自分类Dev

iOS:不存在的指针正在崩溃的应用程序

来自分类Dev

单线程池-ExecutorService或Handler + HandlerThread

来自分类Dev

在Gorilla Handler中转到日志线程ID

来自分类Dev

发布到与当前线程绑定的Handler

来自分类Dev

在未嵌套的线程类中使用Handler

来自分类Dev

我的Android应用程序的gameLoop线程在退出时崩溃

来自分类Dev

我的应用程序未在崩溃的线程中列出

来自分类Dev

UI线程等待AsyncTask时应用程序崩溃

来自分类Dev

在线程中运行的JsonReader使应用程序崩溃

来自分类Dev

运行线程使应用程序在android中崩溃

来自分类Dev

Android上的Handler.post错误

来自分类Dev

在ARM程序集中设置irq_handler

来自分类Dev

在ARM程序集中设置irq_handler

来自分类Dev

“此应用程序正在从后台线程修改自动布局引擎,这可能导致引擎损坏和怪异的崩溃...。”

来自分类Dev

为什么从Dart Logging_handler程序包中导入browser_logging_handler失败?

来自分类Dev

不常见的Handler.post导致巨大的帧掉落和崩溃

来自分类Dev

使用NoClassDefFoundError导致Heroku应用崩溃:org / eclipse / jetty / server / Handler

来自分类Dev

由于文档目录中存储的图像过多,应用程序正在接收内存警告。应用崩溃

来自分类Dev

将handler.post(new Runnable()); 在Android中创建新线程?

来自分类Dev

MySQLIntegrityConstraintViolationException使应用程序崩溃

来自分类Dev

setImageResource崩溃的应用程序

来自分类Dev

OpenGL使应用程序崩溃

来自分类Dev

NSAutoLayoutConstraints崩溃的应用程序

Related 相关文章

  1. 1

    Handler.post()线程,正在崩溃的应用程序

  2. 2

    ImageView正在崩溃应用程序

  3. 3

    pyQt和线程应用程序崩溃

  4. 4

    Android Handler实例线程安全

  5. 5

    为什么Handler.Post阻塞主线程

  6. 6

    Handler.handleMessage在测试中未调用,但在应用程序中被调用

  7. 7

    iOS:不存在的指针正在崩溃的应用程序

  8. 8

    单线程池-ExecutorService或Handler + HandlerThread

  9. 9

    在Gorilla Handler中转到日志线程ID

  10. 10

    发布到与当前线程绑定的Handler

  11. 11

    在未嵌套的线程类中使用Handler

  12. 12

    我的Android应用程序的gameLoop线程在退出时崩溃

  13. 13

    我的应用程序未在崩溃的线程中列出

  14. 14

    UI线程等待AsyncTask时应用程序崩溃

  15. 15

    在线程中运行的JsonReader使应用程序崩溃

  16. 16

    运行线程使应用程序在android中崩溃

  17. 17

    Android上的Handler.post错误

  18. 18

    在ARM程序集中设置irq_handler

  19. 19

    在ARM程序集中设置irq_handler

  20. 20

    “此应用程序正在从后台线程修改自动布局引擎,这可能导致引擎损坏和怪异的崩溃...。”

  21. 21

    为什么从Dart Logging_handler程序包中导入browser_logging_handler失败?

  22. 22

    不常见的Handler.post导致巨大的帧掉落和崩溃

  23. 23

    使用NoClassDefFoundError导致Heroku应用崩溃:org / eclipse / jetty / server / Handler

  24. 24

    由于文档目录中存储的图像过多,应用程序正在接收内存警告。应用崩溃

  25. 25

    将handler.post(new Runnable()); 在Android中创建新线程?

  26. 26

    MySQLIntegrityConstraintViolationException使应用程序崩溃

  27. 27

    setImageResource崩溃的应用程序

  28. 28

    OpenGL使应用程序崩溃

  29. 29

    NSAutoLayoutConstraints崩溃的应用程序

热门标签

归档