是否可以将 Button 转换为 TextView?
is it possible to cast Button to TextView?
我有两个按钮:
<Button
android:id="@+id/fragment_remote_control_zeroButton"
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="0" />
<Button
android:id="@+id/fragment_remote_control_oneButton"
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="1" />
他们都有一个监听器:
View.OnClickListener numberButtonListener = new View.OnClickListener() {
public void onClick(View v) {
TextView textView = (TextView)v;
String working = mWorkingTextView.getText().toString();
String text = textView.getText().toString();
if (working.equals("0")) {
mWorkingTextView.setText(text);
} else {
mWorkingTextView.setText(working + text);
}
}
};
监听器的onClick(View v)
方法中,方法参数为The view that was clicked
,这里是点击的Button
但我想知道它是如何将 Button 投射到 TextView 的???它是否引用了 Button 中的文本值???
http://developer.android.com/reference/android/widget/Button.html
Button其实是TextView的子类
不过,代码肯定很奇怪,为了识别点击了哪个按钮,可以查看id
例如
if (v.getId() == R.id.fragment_remote_control_zeroButton) {
mWorkingTextView.setText(text);
} else {
mWorkingTextView.setText(working + text);
}
我有两个按钮:
<Button
android:id="@+id/fragment_remote_control_zeroButton"
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="0" />
<Button
android:id="@+id/fragment_remote_control_oneButton"
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="1" />
他们都有一个监听器:
View.OnClickListener numberButtonListener = new View.OnClickListener() {
public void onClick(View v) {
TextView textView = (TextView)v;
String working = mWorkingTextView.getText().toString();
String text = textView.getText().toString();
if (working.equals("0")) {
mWorkingTextView.setText(text);
} else {
mWorkingTextView.setText(working + text);
}
}
};
监听器的onClick(View v)
方法中,方法参数为The view that was clicked
,这里是点击的Button
但我想知道它是如何将 Button 投射到 TextView 的???它是否引用了 Button 中的文本值???
http://developer.android.com/reference/android/widget/Button.html
Button其实是TextView的子类
不过,代码肯定很奇怪,为了识别点击了哪个按钮,可以查看id 例如
if (v.getId() == R.id.fragment_remote_control_zeroButton) {
mWorkingTextView.setText(text);
} else {
mWorkingTextView.setText(working + text);
}