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;
}
.....
}
}
アプリケーションの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 =NullPointerExceptionが発生するたびに発生します。理由がわかりません。