0

是否可以在运行时将 Button 转换为 TextView onclick?

谢谢克里斯

4

3 回答 3

1

你试图做的是一个糟糕的设计。

隐藏按钮并改为显示 TextView。

于 2010-06-04T06:22:18.737 回答
0

您可以定义一个包含 TextView 和 Button 的布局。在运行时只需设置一个setVisibility(Visibility.VISIBLE)和另一个setVisibility(Visibility.INVISIBLE)

于 2010-06-04T06:38:55.583 回答
0

您可以使用最好的技术 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");
    }

希望有帮助

于 2016-03-10T12:41:44.170 回答