如何访问在内部 class 中创建的字符串
How to access String Created in an inner class
我对此进行了大量研究,但找不到可以实施的答案...
所以我希望你们中的一个能帮助我 :)
这是我的问题:我根据开关的设置方式创建了 String
"dispo",但我不能在下面的 URL 中使用它...
(我试图将 String
声明为 final
但它不起作用...
代码如下:
Switch toto = (Switch) findViewById(R.id.toto);
toto.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if(isChecked){
String dispo = "yes";
}else{
String dispo = "no";
}
}
});
new RequestTask().execute("http:myURL" + dispo);
}
谢谢:)
您必须将 new RequestTask().execute("http:myURL" + dispo);
移动到 onCheckedChanged
方法中。
只需在侦听器之前创建 String 'dispo'。在您的解决方案中,字符串 'dispo' 在 if/else 语句(在大括号内)中仅是 known/valid。
String dispo = null;
toto.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
dispo = "yes";
} else {
dispo = "no";
}
}
});
new RequestTask().execute("http:myURL" + dispo);
感谢大家的帮助。
我想出了一个方法来做我想做的事情^^
代码如下:
Switch toto = (Switch) findViewById(R.id.toto);
toto.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {}
});
//check the current state and call the URL accordingly
if (toto.isChecked()) {
new RequestTask().execute("http:myURL/script.php&dispo=yes");
} else {
new RequestTask().execute("http:myURL/script.php&dispo=no");
}
}
我对此进行了大量研究,但找不到可以实施的答案... 所以我希望你们中的一个能帮助我 :)
这是我的问题:我根据开关的设置方式创建了 String
"dispo",但我不能在下面的 URL 中使用它...
(我试图将 String
声明为 final
但它不起作用...
代码如下:
Switch toto = (Switch) findViewById(R.id.toto);
toto.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if(isChecked){
String dispo = "yes";
}else{
String dispo = "no";
}
}
});
new RequestTask().execute("http:myURL" + dispo);
}
谢谢:)
您必须将 new RequestTask().execute("http:myURL" + dispo);
移动到 onCheckedChanged
方法中。
只需在侦听器之前创建 String 'dispo'。在您的解决方案中,字符串 'dispo' 在 if/else 语句(在大括号内)中仅是 known/valid。
String dispo = null;
toto.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
dispo = "yes";
} else {
dispo = "no";
}
}
});
new RequestTask().execute("http:myURL" + dispo);
感谢大家的帮助。 我想出了一个方法来做我想做的事情^^
代码如下:
Switch toto = (Switch) findViewById(R.id.toto);
toto.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {}
});
//check the current state and call the URL accordingly
if (toto.isChecked()) {
new RequestTask().execute("http:myURL/script.php&dispo=yes");
} else {
new RequestTask().execute("http:myURL/script.php&dispo=no");
}
}