我想通过按TextView
来更改Button
,但不明白如何正确地执行此操作。
这是我布局的一部分:
<TextView android:id="@+id/counter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text" />
<Button android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Change text!" />
这是我的活动:
public class Click extends Activity {
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
final Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
// ???
}
});
}
}
我应该在onClick()
方法中添加什么内容?
答案 0 :(得分:15)
根据: http://developer.android.com/reference/android/widget/TextView.html
TextView view = (TextView) findViewById(R.id.counter);
view.setText("Do whatever");
答案 1 :(得分:12)
yourTextView.setText("New text");
参考findViewById
和setText
方法。
答案 2 :(得分:9)
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class Click extends Activity {
int i=0;
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
final TextView mTextView = (TextView) findViewById(R.id.counter)
mTextView.setText("hello "+i);
final Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
i=i+1;
mTextView.setText("hello "+i);
}
});
}
}
希望这能满足您的需求
答案 3 :(得分:3)
TextView tv = (TextView) v;
tv.setText("My new text");
修改强> 这是你的处理程序:
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//TextView tv = (TextView) v; //code corrected
TextView tv= (TextView) findViewById(R.id.counter);
tv.setText("My new text");
}
});
TextView view =(TextView)findViewById(R.id.counter);
答案 4 :(得分:0)
您可以使用setText(“任何”)方法执行此操作。
答案 5 :(得分:0)
在onclick
中,获取TextView的对象并设置所需的文本,如下所示:
tvOBJECT.setText("your text");
答案 6 :(得分:0)
Java仅限XML版本
使事情更明确:
DateTimeFormatter myFormatter = new DateTimeFormatterBuilder()
.parseCaseInsensitive()
.appendPattern("dd-MMM-yyyy")
.toFormatter(Locale.ENGLISH);
在Android 22上测试。