Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在新线程中实现侦听器_Java_Android - Fatal编程技术网

Java 在新线程中实现侦听器

Java 在新线程中实现侦听器,java,android,Java,Android,我目前正在制作一个android应用程序,并试图在一个新线程上实现一个事件监听器。 这是主要活动的onCreate方法的实现: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main ); new Thread(new Runnable() {

我目前正在制作一个android应用程序,并试图在一个新线程上实现一个事件监听器。 这是主要活动的
onCreate
方法的实现:

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main );

        new Thread(new Runnable() {
            public void run(){
                seek_bar() ;
            }
        }).start();

    }
以及
seek_bar
方法的实现:

public void seek_bar()
    {


        seek=(SeekBar)findViewById(R.id.seekBar1) ;

        seek.setOnSeekBarChangeListener(

                new SeekBar.OnSeekBarChangeListener() {
                    @Override
                    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                         //do somework      

                    }

                    @Override
                    public void onStartTrackingTouch(SeekBar seekBar) {
                     //do some work

                    }

                    @Override
                    public void onStopTrackingTouch(SeekBar seekBar) {
                      //do some work
                    }
                }
        ) ;


    }

它可以工作,但我的问题是可能出现什么错误,这是一种好的做法吗?

此代码不会在新线程上运行事件侦听器,您所做的只是设置侦听器。事件将在UI线程上执行。一个更好的问题可能是:“为什么您觉得有必要使用两个线程来执行此操作?”@leoderprofi那么新创建的线程做什么呢?@MikeRobinson我认为这是我的“好吧,如果它能工作…”的解决方案,但是,我不知道它实际上是如何工作的,而且,根据上面@loederprofi的评论#1,我预测事实并非如此。这里的问题是,现在有两个线程,每个线程完全独立地执行,都与相同的用户界面对象交互。这些UI对象是“线程安全的”吗?(当然不是)等等。我建议你“碰撞”你原来的问题,希望它能得到回答。(我自己觉得没有资格回答这个问题。)不过,我的直觉告诉我,你很可能是在骗人。