Java 在作用域中无法访问该类型的封闭实例
我有以下代码:Java 在作用域中无法访问该类型的封闭实例,java,Java,我有以下代码: Thread thread = new Thread(null, vieworders, "MagentoBackground"); thread.start(); m_progressDialog = ProgressDialog.show(SoftwarePassionView.this, "Please wait...", "Retrieving data...", true); 这会导致以下编译错误: public class SoftwarePassionV
Thread thread = new Thread(null, vieworders, "MagentoBackground");
thread.start();
m_progressDialog = ProgressDialog.show(SoftwarePassionView.this,
"Please wait...", "Retrieving data...", true);
这会导致以下编译错误:
public class SoftwarePassionView {
public class Inner {
...
public void doIt() {
Thread thread = new Thread(null, vieworders, "MagentoBackground");
thread.start();
m_progressDialog = ProgressDialog.show(SoftwarePassionView.this,
"Please wait...", "Retrieving data...", true);
}
}
}
在作用域中无法访问SoftwareActiveView类型的封闭实例
这是如何导致的,我如何解决它?您正在尝试为封闭类获取
这一
,如果您在匿名类中,这将起作用,但我猜情况并非如此
请阅读表达式
软件激情视图。只有在示例代码段中的代码位于非静态内部/嵌套类中,并且其中一个封闭类是软件激情视图
时,此表达式才有意义。上面写着“给我附上的softwarecompionview
实例”
如果此代码不在该上下文中(如编译器错误所示),则需要将表达式替换为普通变量名或方法调用,该方法调用提供了对某些softwarecompionview
对象的引用
下面是一个示例,其中softwarecompionview。这不会是编译错误:
public class SoftwarePassionView {
public class Inner {
...
public void doIt() {
Thread thread = new Thread(null, vieworders, "MagentoBackground");
thread.start();
m_progressDialog = ProgressDialog.show(SoftwarePassionView.this,
"Please wait...", "Retrieving data...", true);
}
}
}
如果您想将代码段放在不同的类而不是SoftwareCompositionView中,可以在线程构造函数中传递SoftwareCompositionView类的实例
以下是一个例子:
Class SoftwarePassionView {
....
Thread thread = new something(SoftwarePassionView);
thread.start();
......
}
在另一班
Class something extends Thread{
SoftwarePassionView SPV;
something(SoftwarePassionView){
super(null, vieworders, "MagentoBackground");
this.SPV = SoftwarePassionView}
}
@Override
public void run(){
m_progressDialog = ProgressDialog.show(SPV,
"Please wait...", "Retrieving data...", true);
}
}
这段代码是在类softwarecompionview
还是它的子类中?我不知道你在说什么。能举个例子吗。这是一个非静态的内部。