我通过new Handler()调用多个Handler()。postDelayed(new Runnable()…..如果我点击返回button,怎样才能阻止它? public class Tag1 extends Oberklasse implements OnClickListener { public Button btn; //private Handler myHandler = new Handler(); Handler handler; Runnable myRunnable; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.tt1); //Bildschirm soll anbleiben!!! getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); //Lautstärke BUttons enable setVolumeControlStream(AudioManager.STREAM_MUSIC); getActionBar().setTitle("Tag 1"); getActionBar().setDisplayHomeAsUpEnabled(true); //tt1.xml beschriften TextView textView = (TextView)findViewById(R.id.uebung1); textView.setText("Übung 1:"); TextView textView2 = (TextView)findViewById(R.id.uebung2); […]
我有一个“打开”animation,并使用Handler.postDelayed(Runnable, delay)在短暂的延迟后触发“closures”animation。 但是,在打开和closures之间的时间内,可能还有另一个点击触发的animation。 我的问题是,我将如何取消处理程序中的“closures”animation?
我正在使用handler.postDelayed()在我的应用程序的下一个阶段发生之前创build一个等待期。 在等待期间,我正在显示一个带有进度条和取消button的对话框。 我的问题是我无法find一种方法来取消postdelayed任务之前的时间过去了 。
我有一个Android应用程序的情况下,我想开始一个networking活动(发送一些数据),应该每秒运行。 我做到这一点如下: 在onCreate()我有代码: tv = new TextView(this); tv.postDelayed(sendData, 1000); sendData()函数: Handler handler = new Handler(); private Runnable sendData=new Runnable(){ public void run(){ try { //prepare and send the data here.. handler.removeCallbacks(sendData); handler.postDelayed(sendData, 1000); } catch (Exception e) { e.printStackTrace(); } } }; 问题来了这样的:当用户按下后退button和应用程序出来(用户界面消失) sendData()函数仍然得到执行,这是我想要的。 现在,当用户重新启动应用程序时,我的onCreate()被再次调用,我得到了sendData()调用两次sendData() 。 它继续这样下去。 每次用户出来并重新启动,每秒钟会发生一次sendData() 。 我究竟做错了什么? 是我的new Handler()创build问题吗? 处理这个问题的最好方法是什么? 我想要一个sendData()每秒调用,直到用户退出应用程序(表单应用程序pipe理器)。