Logic Error; TextView returns even after setting to null
<p>I have a logic error in a simple android app;</p>

<p>I have 3 <code>Buttons</code> (Permute, Clear and GC), 1 <code>EditText</code> and a <code>TextView</code>. When the Permute button is clicked it sends the text in the <code>EditText</code> box to a method from another class and sets the returned value to the <code>TextView</code>. The returned value is just gibberish text.</p>

<p><img src="http://i.stack.imgur.com/bHDe0.png" alt="1"></p>

<p>When I click the <em>Clear</em>, it clears the current contents of the <code>EditText</code> box  and the <code>TextView</code>; (by setting the contents to a null string "").</p>

<p><img src="http://i.stack.imgur.com/IGYEV.png" alt="2"></p>

<p><strong>However when I click Permute with new values in the textBox, the old (cleared) text returns along with the newer text below</strong> </p>

<p><img src="http://i.stack.imgur.com/Ugm6g.png" alt="3"></p>

<p>Here's the code:</p>

<p>package com.mobinga.string;</p>

<pre><code>import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.Vibrator;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import com.mob.string.Perm; 

public class MoPermActivity extends Activity implements View.OnClickListener {
    Button btn;
    Button btn2;
    Button btn3;
    EditText et;
    TextView tv;
    Vibrator vi;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        btn =  (Button) findViewById(R.id.Permute);
        btn2 = (Button) findViewById(R.id.Clear);
        btn3 = (Button) findViewById(R.id.GC);
        btn.setOnClickListener(this);
        btn2.setOnClickListener(this);
        btn3.setOnClickListener(this);
        et = (EditText) findViewById(R.id.Text);
        tv = (TextView) findViewById(R.id.textView1);
    }


    public void onClick(View view){
        switch(view.getId()){

        case R.id.Permute:
            vi =  (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
                vi.vibrate(50);
                tv.setText(Perm.perm(et.getText().toString()));
            break;

        case R.id.Clear:
            vi =  (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
                et.setText("");
                tv.setText("");
                vi.vibrate(50);
            break;

        case R.id.GC:
            vi =  (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
            GC();
            vi.vibrate(50);
        }
    }


    public static void GC(){
        Log.d("Permute","Calling GC");
        System.gc();
    }


}
</code></pre>

<p><strong>How do I properly and completely clear the contents of TextView, and stop it from returning? Simply put : My problem is that the supposedly cleared contents of the TextView return back even after clearing.</strong></p>

<p><strong>Edit</strong> if necessary here's the Perm Class</p>

<pre><code>package com.mob.string;

public class Perm {
    static String v = "";
     static void permute(int level, String permuted, boolean used[], String original) {
            int length = original.length();
            if (level == length) {
                v +=permuted+"\n";
            } else {
                for (int i = 0; i &lt; length; i++) {
                    if (!used[i]) {
                        used[i] = true;
                        permute(level + 1, permuted + original.charAt(i), used, original);
                        used[i] = false;
                    }
                }
            }
        }
    public String perm(String s){
        boolean used[] = {false, false, false, false, false,false,false};
        permute(0, "", used, s);
        return v;
    }
}
</code></pre>
