Java 将类的引用传递给另一个类时出错

Java 将类的引用传递给另一个类时出错,java,android,class,reference,Java,Android,Class,Reference,我最近问了这个问题的前导,得到了很好的回答。然而,当我在我的android应用程序中使用这个时,我遇到了一个意想不到的错误,我想知道是否每个人都可以看看我的代码,帮助我发现我做错了什么 链接到初始问题: 我的错误:“构造函数ConnectDevice(new View.OnClickListener(){})未定义” 以上是eclipse检测到的错误 提前谢谢 下面是我的代码片段: public class SmartApp extends Activity { /** Called

我最近问了这个问题的前导,得到了很好的回答。然而,当我在我的android应用程序中使用这个时,我遇到了一个意想不到的错误,我想知道是否每个人都可以看看我的代码,帮助我发现我做错了什么

链接到初始问题:

我的错误:“构造函数ConnectDevice(new View.OnClickListener(){})未定义”

以上是eclipse检测到的错误

提前谢谢

下面是我的代码片段:

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;
 }
}

这是因为您正在传递一个
OnClickListener
对象,但是
ConnectDevice
类的构造函数需要一个
SmartApp
对象。为什么?您正在这样做:

new ConnectDevice(this);
在这种情况下,
引用
OnClickListener
。将其更改为:

new ConnectDevice(SmartApp.this);

这是因为您正在传递一个
OnClickListener
对象,但是
ConnectDevice
类的构造函数需要一个
SmartApp
对象。为什么?您正在这样做:

new ConnectDevice(this);
在这种情况下,
引用
OnClickListener
。将其更改为:

new ConnectDevice(SmartApp.this);

如果你读了我的第一个问题,你会更好地理解我想做什么。我在这里的问题中把它联系了起来。请告知。谢谢如果你读了我的第一个问题,你会更好地理解我想做什么。我在这里的问题中把它联系了起来。请告知。谢谢