2011-01-18 18 views
0

私は最近、この質問の先駆けを頼んで、すばらしい返事をしました。しかし、私はこれを私のアンドロイドアプリケーションに取り組んでいたときに予期せぬエラーが発生しています。誰もが自分のコードを見て、私が間違っていることを見るのを助けることができるのだろうかと思っていました。最初の質問へクラスの参照を別のクラスに渡します。アンドロイドエラー

リンク:passing reference of class to another class

マイERROR: "コンストラクタConnectDevice(新しいView.OnClickListener(){})未定義である"

上記は、Eclipseによって検出されたエラーです。

ありがとうございます!

は、以下の私のコードスニペットです:

あなたが OnClickListenerオブジェクトを渡しているが、 ConnectDeviceクラスのコンストラクタは SmartAppオブジェクトを想定しているためだ
public class SmartApp extends Activity 
{ 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.intro); 

     final Button connectDeviceButton = (Button) findViewById(R.id.connectDeviceButton); 
     connectDeviceButton.setOnClickListener(
     new View.OnClickListener() 
     { 
    @Override 
    public void onClick(View v) { 
    Thread cThread = new Thread(new ConnectDevice(this)); 
    cThread.start(); 
    } 
    }); 
    } 
} 

public class ConnectDevice implements Runnable { 

private boolean connected; 
private SmartApp smartAppRef; 
private ObjectInputStream ois; 

public ConnectDevice(SmartApp smartAppRef) { 
    this.smartAppRef = smartAppRef; 
} 
} 

答えて

3

。どうして?あなたはこれをやっている:その場合は

new ConnectDevice(this); 

thisOnClickListenerを参照します。それを次のように変更してください:

new ConnectDevice(SmartApp.this); 
+0

私の最初の質問を読めば、私が何をしようとしているのかが分かります。私はここで私の質問にそれをリンクさせた。お知らせ下さい。ありがとうございました – prolink007

+0

あなたが言ったことをちょうど試み、それは動作するようでした。 – prolink007

関連する問題