2012-08-02 101 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

相關問題