マルチスレッドに問題があります。警告: "メソッドstart()は、タイプMenuThread"で定義されていません。どうすればいいですかアンドロイドのマルチスレッド警告
public void run() {
if (whichMethodToCall == 1) {
}
else if (whichMethodToCall == 2) {
}
}
マルチスレッドに問題があります。警告: "メソッドstart()は、タイプMenuThread"で定義されていません。どうすればいいですかアンドロイドのマルチスレッド警告
public void run() {
if (whichMethodToCall == 1) {
}
else if (whichMethodToCall == 2) {
}
}
MenuThreadはRunnable
インターフェイスを実装しています。スレッドではありません。もしそれが別のスレッドで実行する場合はThreadオブジェクト
Thread thread = new Thread(new MenuThread(i));
thread.start();
使用new Thread(thread).start()
にMyThreadのインスタンスを渡します。
問題のコード:線の上
MenuThread thread = new MenuThread(i);
Runnable
インタフェースを実装するMenuThread
を作成します。それでもスレッドではないので、
thread.start();
は不正です。 Runnable
インスタンスから
MenuThread thread = new MenuThread(i);
(new Thread(thread)).start();
をスレッドを作成するための
正しい方法あなたは、2つの異なる方法でスレッドを作成することができます。 thread creation
スレッドのインスタンスを作成するアプリケーションは、そのスレッドで実行されるコードを提供する必要があります。
Provide a Runnable object.
Runnable
インタフェースはスレッドで実行されるコードが含まれていることを意図単一の方法、実行を、定義します。これを行うには二つの方法があります。 The Runnable object is passed to the Thread constructor
public class HelloRunnable implements Runnable {
public void run() {
System.out.println("Hello from a thread!");
}
public static void main(String args[]) {
(new Thread(new HelloRunnable())).start();
}
}
Subclass Thread
。 Threadクラス自体はRunnable
を実装していますが、runメソッドは何もしません。アプリケーションは、Thread
サブクラス
public class HelloThread extends Thread {
public void run() {
System.out.println("Hello from a thread!");
}
public static void main(String args[]) {
(new HelloThread()).start();
}
}
は、runメソッドを定義し、実行の独自の実装を提供することができますか? –
@blahfunk runメソッドはMenuThreadクラスで定義されています。しかし、上記のコードを含む他のクラスは、start mthodを見ません。どうすればいいですか? – xiac
MenuThreadクラスを定義するコードを投稿してください。 –