将参数传递给Java Thread

时间:2012-12-01 18:16:06

标签: java android multithreading parameters

我做了一个Android应用程序,我想从菜单中更改正在运行的线程的一些参数。 我的班级看起来像这样:

public class MyClass {

        public class MyThread extends Thread {
             public volatile long sleepTime =200;
             .....
             public synchronized void set_sleepTime(long value)
                          /* with or without synchronized is te same problem*/

        {
            sleepTime=value;
        }
             .....
             }
}

我在Application

的onCreateMethod中创建了这个类
  public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        MyClass nClass=new MyClass(this);

        setContentView(nClass);

    }

我尝试更改菜单中的参数。像这样:

public boolean onOptionsItemSelected(MenuItem item) {

        switch (item.getItemId()) {

            case R.id.load_game:
            ... 


                try{

                    mSheepThread.set_sleepTime(10);

                }
                catch (Exception e0)
                {
                    toast = Toast.makeText(getApplicationContext(), "Could not set parameters", Toast.LENGTH_LONG);
                }
                       ...              

        }
    }

我每次都收到e0 = NullPointer Exception。 我不明白为什么。

0 个答案:

没有答案