2016-09-18 109 views
1

我需要通過從編輯文本中獲取值來設置按鈕的文本,單擊按鈕時,必須將其文本更改爲Edittext中指定的文本。如何在android中點擊一個按鈕來更改文本?

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


    final Button btn=(Button)findViewById(R.id.button); 
    assert btn != null; 
    btn.setOnClickListener(
      new View.OnClickListener(){ 

       public void onClick(View v) 
       { 
        TextView txt=(TextView)findViewById(R.id.editText); 
        btn.setText((CharSequence) txt); 


       } 
      } 

    ); 
} 
+0

這種 「文字」 你所談論的是什麼格式?標籤或文本字段中? – progyammer

+0

如果能幫助解決問題,請[接受答案](http://meta.stackexchange.com/a/5235/155831)。 –

回答

1

你只需要定義,而不是TextViewEditText變量,並調用EDITTEXT的getText方法,然後toString方法是這樣的:

final Button btn=(Button)findViewById(R.id.button); 
assert btn != null; 
btn.setOnClickListener(
     new View.OnClickListener(){ 

      public void onClick(View v) 
      { 
       EditText txt = (EditText)findViewById(R.id.editText); 
       btn.setText(txt.getText().toString()); 
      } 
     } 

); 
1

聲明你的看法全球

Button btn; 
EditText txt; 

設置你的ID onCreate方法

btn=(Button)findViewById(R.id.button); 
txt=(EditText)findViewById(R.id.editText); 

讓您onclicklistener如下

btn.setOnClickListener(
      new View.OnClickListener(){ 

       public void onClick(View v) 
       { 
       final String newText=txt.getText().toString().trim(); 
       if(newText.length()>0){ 
        btn.setText(newText); 
       } 


       } 
      } 

    ); 
0
 final Button btn = (Button)findViewById(R.id.button); 
     if (btn != null) { 
      btn.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) { 
        EditText et = (EditText)findViewById(R.id.editText); 
        if (et != null){ 
         Button btn = (Button)view; 
         btn.setText(et.getText()); 
        } 
       }    
      }); 
     } 
相關問題