2015-04-28 58 views
2

我有一個void方法,其中包含一些findViewById,我希望每秒運行一次。我怎樣才能做到這一點? 所有我想出了是這樣的:使用計時器運行方法

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    timer.schedule(new TimerTask() { 
    public void run() { 
     Method(); 
    } 
    }, 1000, 1000); 
} 

public void Method() { 
    findViewById(R.id.textView1).setVisibility(View.INVISIBLE); 
    ((TextView) findViewById(R.id.textView1)).setText("A second has passed!"); 
} 
+1

你是否在某處創建過這個Timer timer = new Timer(); ?在課程 –

+0

是的,計時器已經創建。 – Lonn

+0

發佈整個代碼而不是部分代碼總是很好的,因爲沒有人會通過查看來了解什麼是「findViewById()」和其他東西 –

回答

0

插入你的業務邏輯到run方法。這將被稱爲。

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    timer.schedule(new TimerTask() { 
    public void run() { 
     findViewById(R.id.textView1).setVisibility(View.INVISIBLE); 
    ((TextView) findViewById(R.id.textView1)).setText("A second has passed!"); 
    } 
    }, 1000, 1000); 
} 
+0

不起作用。應用程序一旦啓動就會崩潰。 – Lonn