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