如何在android中取消一个方法?

时间:2014-12-14 15:48:57

标签: android methods oncreate

我不确定这是否可能,但我所追求的是,​​我有一个方法,我在我的onCreate中调用,该方法在应用程序启动时运行,基本上这个方法做了一堆像put这样的东西Textview上的数字,更改文本的颜色等(此方法可执行大约12个atm)。我有一个按钮,我想要做的是,当按下按钮时我想停止使用在启动时调用的方法。例如;

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

     setUpMethod();
     removeMethod();
}

public void removeMethod(){
 Code for button and listener
.......
.......
.......
.......
{

4 个答案:

答案 0 :(得分:2)

你可以把它放在线程中,你可以根据需要暂停/停止。

这里是关于java中线程的简单教程,你可以把你放在你想要在setUpMethod()中做的线程中。

http://www.tutorialspoint.com/java/java_multithreading.htm

并使用Thread控制方法来控制代码的执行。

http://www.tutorialspoint.com/java/java_thread_control.htm

答案 1 :(得分:0)

您只需阅读setUpMethod(),找出每个操作的相反内容,并将所有撤消步骤放在removeMethod()中。如果您需要更多帮助,请发布setUpMethod()的代码。

答案 2 :(得分:0)

如果你在主线程上做这些事情,你就无法停止,因为你所做的一切都是在一个威胁上。应该完成12件事,然后调用removeMethod()。 只需将removeMethod方法中的所有12个更改恢复为初始状态 - 将text,textColor和其他内容恢复为初始值

答案 3 :(得分:0)

To"当按下按钮时停止再次调用该方法",在某处创建一个布尔值,并添加该行

if (wasRunAlready) return;

开头和

wasRunAlready = true;

setUpMethod()的结尾。然后内部代码将无法运行两次。