2012-07-14 51 views
1

我怎樣才能讓這個它使用無論是在EditText上,作爲文本視圖一樣,如果我輸入「你好」按下按鈕,它設置的TextView如「你好」,然後當你再次按下按鈕會擦除它?的EditText到TextView的按鈕時按下

package com.purelymean.earnings; 
    import org.w3c.dom.Text; 

    import android.app.Activity; 
    import android.os.Bundle; 
    import android.util.Log; 
    import android.view.View; 
    import android.view.View.OnClickListener; 
    import android.widget.Button; 
    import android.widget.TextView; 

    public class Main extends Activity{ 
/**Called when activity is first created. */ 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.main); 
    Button b = (Button) findViewById(R.id.button); 
    Text et = (Text) findViewById(R.id.editText1); 
    TextView tx = (TextView) findViewById(R.id.textView1); 


    b.setOnClickListener(new OnClickListener() { 


     @Override 
     public void onClick(View v) { 





     } 
    }); 

} 
} 
+0

你想要**從EditT複製粘貼**文本分機到TextView,或**剪切粘貼**? – vArDo 2012-07-14 20:07:45

+0

你似乎在試圖用一個「文本」對象,而不是「的EditText」對象...... – FoamyGuy 2012-07-14 20:12:14

回答

2

另一種方式來做到這一點(添加到香格里拉BLA BLA):對於TextView中顯示EDITTEXT首先創建單擊時按鈕出現這種情況的方法:

public void displayEditText(View view) { } 

在XML爲您的按鈕添加這樣的:

android:onClick="displayEditText" 

爲了讓把這個的displayEditText

String editTextValue = et.getText().toString內的EditText值; 要顯示該做到以下幾點:

tx.setText(editTextValue); 

最終的解決方案:

public void displayEditText(View view) {   
    if (tx.getText().toString().equals("")) { 
     String editTextValue = et.getText().toString; 
      tx.setText(editTextValue); 
    } else { 
     tx.setText(""); 
     tv.setText(""); 
    } 
} 
+0

我同意,但是你錯過的部分,其中再點擊一下被擦除的文本。如果EditText爲空,您的解決方案將僅刪除它。如果這就是他所需要的,這是一個很好的解決方案,如果沒有,需要添加某種缺失。 – 2012-07-14 21:33:38

+0

我知道。我不想複製你的答案。你已經展示瞭如何擦除文本視圖。我只是提供了一個更好的方式來點擊:)。 – ninge 2012-07-14 21:36:32

+0

請參閱編輯最終解決方案。 – ninge 2012-07-14 21:41:30

1

好,如果你想了解如何使用它,你可能已經想通了你自己,但任何方式:

package com.purelymean.earnings; 

import android.app.Activity; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.TextView; 
import android.widget.EditText; 


private boolean isErase = false; 
private EditText et; 
private TextView tx; 

public class Main extends Activity{ 
/**Called when activity is first created. */ 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 

setContentView(R.layout.main); 
Button b = (Button) findViewById(R.id.button); 
et = (EditText) findViewById(R.id.editText1); 
tx = (TextView) findViewById(R.id.textView1); 


b.setOnClickListener(new OnClickListener() { 


    @Override 
    public void onClick(View v) { 

     if(isErase) { 
      tx.setText(et.getText().toString()); 
     } else { 
      tx.setText(""); 
     } 
     isErase = !isErase; 
    } 
}); 

} 

你只要從EditText上的文字,並設置它作爲TextView的文本。比你更改布爾變量的狀態,所以它會在下次單擊時擦除。

另外請注意,我是從文本對象的EditText 更改代碼是未經測試,可能包含錯別字之類的東西。

0
package com.purelymean.earnings; 
import org.w3c.dom.Text; 

import android.app.Activity; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.TextView; 

public class Main extends Activity{ 
    // You have to save reference to views that will be used in onClick handler. 
    EditText et; 
    TextView tx; 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.main); 
    Button b = (Button) findViewById(R.id.button); 
    et = (EditText) findViewById(R.id.editText1); 
    tx = (TextView) findViewById(R.id.textView1); 

    b.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
     // If TextView is empty - copy string from EditText 
     if (tx.getText().toString().equals("")) { 
      tx.setText(et.getText().toString()); 
     } else { // Otherwise, clear the TextView. 
      tx.setText(""); 
     } 
    } 
}); 

}

0

1)通過你的TextView的id在功能

 private void EditToText(TextView tv) { 

     tv.setCursorVisible(false); 
     tv.setFocusableInTouchMode(false); 
     tv.setEnabled(false); 

    } 
相關問題