Я модифицирование следующего кода в моей деятельности:статических работоспособный в деятельности
new Handler().postDelayed(new Runnable() {
public void run() {
txtStatus.setText("hello");
}
}, 1000);
к:
static Runnable myRunnable = new Runnable() {
public void run() {
txtStatus.setText("hello");
};
new Handler().postDelayed(myRunnable, 1000);
который, очевидно, не работает, так как мы ссылка на ноны статические переменные.
Это не работает либо:
public void setText() {
txtStatus.setText("hello");
}
static Runnable myRunnable = new Runnable() {
public void run() {
setText(); // doesn't work
MyActivity.this.setText(); // still doesn't work
};
new Handler().postDelayed(myRunnable, 1000);
так, как бы мой первоначальный пример можно переписать, чтобы использовать статический класс вместо анонимного внутреннего класса (чтобы избежать возможности утечки памяти)?
Это, вероятно, хорошая идея, чтобы отметить правильные ответы на ваши предыдущие вопросы. –