2012-03-08 121 views
0

我剛剛開始使用Android/Eclipse SDK,並且我沒有以前的Java經驗。安卓與Eclipse按鈕

我見過很多關於運行Toasts onclick的教程,但我試圖做到這一點,當點擊一個按鈕時,文本字段將填充該按鈕的文本。

換句話說,如果我按下一個標籤爲「Hello」的按鈕,那麼文本字段的內容將變成「Hello」。

任何幫助是極大的讚賞。在onClick()

String text = view.getText(); 
// use toast here to display text.. 
+0

你試過了什麼?做了一個xml佈局和java方面的實現,讓我們看看.. – 2012-03-08 08:20:20

+0

我會建議你看一些java教程,這樣你就明白了代碼背後的邏輯:) – androidu 2012-03-08 08:21:12

回答

0

寫代碼假設你的按鈕的id是Button1的,而TextView中的id是textview1

  
Button My_Button=(Button)findViewById(R.id.button1); 

TextView textView = (TextView)findViewById(R.id.textview1); 

My_Button.setOnClickListener(new OnClickListener(){ 
     public void onclick(View v){ 
      textView.setText("hello"); 
     } 
); 
0
TextView mText=(TextView)findViewById(R.id.textview1); 
Button mbutton=(Button)findViewById(R.id.button1); 

    mbutton.setOnClickListener(new Button.OnClickListener() { 

      public void onClick(View arg0) { 
       // TODO Auto-generated method stub 
       mText.setText("Hello"); 

      } 
     }); 

希望我可以工作..

0

結束工作。您必須在main.xml中定義一個「button1」和「textview1」。

package my.dummy.hello; 

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

public class HelloActivity extends Activity implements OnClickListener { 
    Button b=null; 
    TextView tv=null; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     b=(Button)findViewById(R.id.button1); // button1 set in main.xml 
     b.setOnClickListener(this); 
     tv=(TextView)findViewById(R.id.textview1); // textview1 set in main.xml 
    } 

    public void onClick(View v) { 
     if (v == b) { 
      tv.setText(b.getText()); 
     } 
    } 
} 
+0

這是工作一種享受。非常感謝你!我只有一個額外的問題要問。如果我將文字視圖中的目標更改爲字符串,應該如何調整代碼? – Androidaphobe 2012-03-08 21:35:46

+0

是的,getText()返回類型是CharSequence。這可以通過toString()方法輕鬆轉換,例如通過替換'setText'這樣的行: 'String str = b.getText()。toString();' 'tv.setText(str);' – 2012-03-09 13:53:18