[英]non-static method getDeviceList() cannot be referenced from a static context
[英]non-static method start() cannot be referenced from a static context
當我嘗試在按鈕中添加“開始”和“取消”時,出現此錯誤。 我查看了Timer文件,但沒有看到任何“錯誤:無法從靜態上下文引用非靜態方法start()”
public int number;
public TextView textfield;
Button buton;
int x = 1;
Boolean y = false;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_reading);
new CountDownTimer(100000, 1000) {
public void onTick(long millisUntilFinished) {
textfield.setText("Time: " + millisUntilFinished / 1000);
}
public void onFinish() {
textfield.setText("Time is up");
}
}.start();
textfield=(TextView)findViewById(R.id.Zamanlayici);
buton=(Button)findViewById(R.id.Click);
buton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//My Error is in there :(
if (y) {
CountDownTimer.start();
y= true;
}
else {
y = false;
CountDownTimer.cancel();
}
}
});
}
}
您需要創建一個CountDownTimer
實例以從中調用非靜態方法。
CountDownTimer timer = new CountDownTimer();
timer.start();
將您的代碼更改為此
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_reading);
CountDownTimer timer = new CountDownTimer(100000, 1000) {
public void onTick(long millisUntilFinished) {
textfield.setText("Time: " + millisUntilFinished / 1000);
}
public void onFinish() {
textfield.setText("Time is up");
}
}
timer.start();
textfield=(TextView)findViewById(R.id.Zamanlayici);
buton=(Button)findViewById(R.id.Click);
buton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (y) {
timer.start();
y= true;
}
else {
y = false;
timer.cancel();
}
}
});
}
您正在嘗試使用非靜態方法,例如靜態方法。 嘗試創建一個變量來存儲CountDownTimer實例並在其上調用方法。 也是doc: http : //developer.android.com/reference/android/os/CountDownTimer.html
您需要創建一個CountDownTimer實例,如下所示:
CountDownTimer timer = new CountDownTimer(100000, 1000){...}
然后,在onClick方法中:
if (y) {
timer.start();
y= true;
}
else {
y = false;
timer.cancel();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.