从线程对象访问MainActivity中的方法

迈克尔·B

在我的Android应用程序中,我有一个MainActivity类,该类启动了一个线程。该线程执行填充并将其显示在屏幕上。(这部分正在工作)

我想从线程访问MainActivity-Class中的方法。但是它不起作用...“无法解决方法”

这是我的代码...

线程对象:

public class SensorProcessor implements Runnable {

    protected Context mContext;
    protected Activity mActivity;

    private volatile boolean running = true;
    //Tag for Logging
    private final String LOG_TAG = SensorProcessor.class.getSimpleName();

    public SensorProcessor(Context mContext, Activity mActivity){
        this.mContext = mContext;
        this.mActivity = mActivity;
    }


    public void run() {

            while (running){

                try {                    

                    final String raw = getSensorValue();
                    mActivity.runOnUiThread(new Runnable() {
                        public void run() {
                            //WORKS
                            final TextView textfield_sensor_value;
                            textfield_sensor_value = (TextView) mActivity.findViewById(R.id.text_sensor);
                            textfield_sensor_value.setText("Sensor Value: " + raw);
                            Log.v(LOG_TAG, raw);


                            //DOES NOT WORK, WHY?
                            mActivity.myMethod(); //Cannot resolve method
                        }
                    });



                    Thread.sleep(100);
                } catch (InterruptedException e) {
                    //When an interrupt is called, we set running to false, so the thread can exit nicely
                    running = false;
                }
            }

            Log.v(LOG_TAG, "Sensor Thread finished");

    }
}

MainActivity类,正在调用线程:

public class MainActivity extends Activity implements OnClickListener, OnInitListener {


    public void myMethod(){
        //Do stuff...
    }

    //Start the Thread, when the button is clicked
    public void onClick(View v) {
        if (v.getId() == R.id.button_start) {
            runnable = new SensorProcessor(this.getApplicationContext(),this);
            thread = new Thread(runnable);
            thread.start();
        }
    }
}

为什么使用mActivity.runOnUiThread(new Runnable()-方法)不起作用,如何正确完成?

最好的祝福

拉古·穆德姆(Raghu Mudem)

类型投你mActivityMainActivity喜欢((MainActivity)mActivity)但是请确保您不应该从线程更新UI。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在BroadcastReceiver中访问MainActivity的对象或方法?

来自分类Dev

无法在回退方法中从父线程访问 InheritableThreadLocal 对象

来自分类Dev

异步方法在不同线程中的延续-意味着对对象变量的协作式双线程访问吗?

来自分类Dev

NullPointerException-从mainactivity调用的方法中的片段访问数组

来自分类Dev

无法访问线程run()中的方法

来自分类Dev

无法访问线程run()中的方法

来自分类Dev

在javascript中访问对象方法

来自分类Dev

使用C#中的lock()锁定线程访问的对象

来自分类Dev

无法使用 pthreads 访问线程类中的 CI 对象

来自分类Dev

如何在Android Studio中从MainActivity.java访问xml gui对象?

来自分类Dev

多线程访问方法

来自分类Dev

在jQuery方法中访问对象文字的属性

来自分类Dev

如何访问在main方法中创建的对象

来自分类Dev

无法从Java中的ArrayList访问对象的方法

来自分类Dev

数组中对象的访问方法。(迅速)

来自分类Dev

在Typescript中访问对象类的静态方法?

来自分类Dev

访问存储在ArrayList中的对象的最佳方法?

来自分类Dev

如何访问在main方法中创建的对象

来自分类Dev

数组中对象的访问方法。(迅速)

来自分类Dev

Flask - 从类中的方法访问请求对象

来自分类Dev

在类方法中访问对象属性

来自分类Dev

无法从创建的方法中的道具访问对象

来自分类Dev

等待线程是否重新访问同步方法中的代码

来自分类Dev

ActionBar:如何从MainActivity访问Fragment的方法?

来自分类Dev

Android Studio从MainActivity访问Fragment方法

来自分类Dev

如何在片段类中访问 MainActivity 类的公共成员(变量或方法)

来自分类Dev

多线程访问同一对象上的同步方法和非同步方法

来自分类Dev

在 MainActivity 中访问 MainPage.xaml 按钮

来自分类Dev

在C ++中启动函数对象线程的正确方法?

Related 相关文章

  1. 1

    如何在BroadcastReceiver中访问MainActivity的对象或方法?

  2. 2

    无法在回退方法中从父线程访问 InheritableThreadLocal 对象

  3. 3

    异步方法在不同线程中的延续-意味着对对象变量的协作式双线程访问吗?

  4. 4

    NullPointerException-从mainactivity调用的方法中的片段访问数组

  5. 5

    无法访问线程run()中的方法

  6. 6

    无法访问线程run()中的方法

  7. 7

    在javascript中访问对象方法

  8. 8

    使用C#中的lock()锁定线程访问的对象

  9. 9

    无法使用 pthreads 访问线程类中的 CI 对象

  10. 10

    如何在Android Studio中从MainActivity.java访问xml gui对象?

  11. 11

    多线程访问方法

  12. 12

    在jQuery方法中访问对象文字的属性

  13. 13

    如何访问在main方法中创建的对象

  14. 14

    无法从Java中的ArrayList访问对象的方法

  15. 15

    数组中对象的访问方法。(迅速)

  16. 16

    在Typescript中访问对象类的静态方法?

  17. 17

    访问存储在ArrayList中的对象的最佳方法?

  18. 18

    如何访问在main方法中创建的对象

  19. 19

    数组中对象的访问方法。(迅速)

  20. 20

    Flask - 从类中的方法访问请求对象

  21. 21

    在类方法中访问对象属性

  22. 22

    无法从创建的方法中的道具访问对象

  23. 23

    等待线程是否重新访问同步方法中的代码

  24. 24

    ActionBar:如何从MainActivity访问Fragment的方法?

  25. 25

    Android Studio从MainActivity访问Fragment方法

  26. 26

    如何在片段类中访问 MainActivity 类的公共成员(变量或方法)

  27. 27

    多线程访问同一对象上的同步方法和非同步方法

  28. 28

    在 MainActivity 中访问 MainPage.xaml 按钮

  29. 29

    在C ++中启动函数对象线程的正确方法?

热门标签

归档