Luk*_* Vo 13
您可以使用handler来执行循环过程,如下所示:
Handler handler = new Handler();
Runnable refresh;
Run Code Online (Sandbox Code Playgroud)
在第一个通话时间:
refresh = new Runnable() {
public void run() {
// Do something
handler.postDelayed(refresh, 5000);
}
};
handler.post(refresh);
Run Code Online (Sandbox Code Playgroud)
由于您无法在匿名类中调用非final变量,因此必须refresh在包含类中声明.
Sye*_*ed 9
尝试这个,它运作良好:)
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.mHandler = new Handler();
this.mHandler.postDelayed(m_Runnable,5000);
}//onCreate
private final Runnable m_Runnable = new Runnable()
{
public void run()
{
Toast.makeText(refresh.this,"in runnable",Toast.LENGTH_SHORT).show();
refresh.this.mHandler.postDelayed(m_Runnable, 5000);
}
};//runnable
Run Code Online (Sandbox Code Playgroud)
小智 5
如果您想首先创建视图,然后在指定的时间跨度刷新页面,则使用以下代码。(这里提到刷新率为 20 秒)它工作正常,并且每 20 秒自动刷新一次。
public class MainActivity extends Activity {
Handler mHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.mHandler = new Handler();
m_Runnable.run();
}
private final Runnable m_Runnable = new Runnable()
{
public void run()
{
Toast.makeText(MainActivity.this,"in runnable",Toast.LENGTH_SHORT).show();
MainActivity.this.mHandler.postDelayed(m_Runnable,20000);
}
};
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
48065 次 |
| 最近记录: |