是否可以在运行时将 Button 转换为 TextView onclick?
谢谢克里斯
你试图做的是一个糟糕的设计。
隐藏按钮并改为显示 TextView。
您可以定义一个包含 TextView 和 Button 的布局。在运行时只需设置一个setVisibility(Visibility.VISIBLE)
和另一个setVisibility(Visibility.INVISIBLE)
您可以使用最好的技术 ViewSwitcher 在这里只需使用简单的按钮更改edittext :)
例如
XML
<ViewSwitcher
android:id="@+id/my_switcher"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/clickable_text_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:onClick="TextViewClicked"
android:text="abc"
android:textColor="@color/white"
android:textSize="16sp" >
</TextView>
<EditText
android:id="@+id/hidden_edit_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="12"
android:text="12"
android:textColor="@color/white"
android:textSize="16sp" >
</EditText>
</ViewSwitcher>
JAVA
ViewSwitcher my_switcher;
my_switcher = (ViewSwitcher) findViewById(R.id.my_switcher);
TextView profile_name = (TextView) findViewById(R.id.clickable_text_view);
profile_name.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
TextViewClicked();
}
});
TextViewClicked()
public void TextViewClicked() {
my_switcher.showNext(); //or switcher.showPrevious();
TextView myTV = (TextView) my_switcher.findViewById(R.id.clickable_text_view);
myTV.setText("value");
}
希望有帮助