2012-08-02 69 views
1

我有一个小的小技巧计算器应用程序,工作得很好,我试图实现一个清晰的按钮,但与代码我试过它只是关闭应用程序,我将如何去开始这里的代码结束了...就是我下面尝试..重新启动应用程序W/O关闭它

clearButton.setOnClickListener(new OnClickListener() { 

     public void onClick(View arg0) { 

      percentage = 0; 
      output = 0; 
      output1 = ""; 
      TextView textView = null; 

      textView.clearComposingText(); 

      percentageInp = 0; 
      billAmount = 0; 

      myEditField.setText(""); 
      myEditField2.setText(""); 

      return; 
     } 


    }); 

回答

1

您设置的TextView为空,然后尝试调用一个方法就可以了所以它可能强制关闭,封闭的应用程序。 取出

TextView textView = null; 

要清除

TextView textView = (TextView)findViewById(R.id.textView1); 
textView.setText(""); 

这里假设你的TextView被称为textView1。你现在清理变量的方式似乎是好的,也是一种简单的方法,因为它是一个小费计算器,我假设没有很多变量需要清除,所以这种手动方式是可以的。

+0

这解决了一个问题,所以如何将我重新开始呢? – PrommeringsDisplay 2012-08-02 02:12:51

+0

或清除所有变量; – PrommeringsDisplay 2012-08-02 02:13:08

+0

是的,它的工作,exept如果其中一个文本字段为空 – PrommeringsDisplay 2012-08-02 02:25:38

1

您可以基本上通过前pid启动参数到一个新的实例,然后杀死旧实例时,加载新的实例。使用Process.GetCurrentProcess方法读取旧的实例pid。将参数传递给ProcessStartInfo中使用Arguments属性的新实例。然后在新实例中使用Process.GetProcessById在新实例参数传递时获取并终止实例。

获取进程(机器人):

ActivityManager am = (ActivityManager)this.getSystemService(ACTIVITY_SERVICE); 
List l = am.getRunningAppProcesses(); 
+0

我不确定这是什么意思...对不起,我有点新 – PrommeringsDisplay 2012-08-02 02:18:01

+0

这意味着你基本上从旧流程(旧流程作为参数传递给新流程)开始一个新流程,然后当新流程杀死旧的过程。 – 2012-08-02 02:19:42

+0

方法getSystemService(字符串)是未定义的类型new View.OnClickListener(){} – PrommeringsDisplay 2012-08-02 02:23:16

相关问题