Android - 在运行时将Button转换为TextView

时间:2010-06-04 05:19:41

标签: android button runtime textview

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

由于 克里斯

3 个答案:

答案 0 :(得分:1)

你要做的是糟糕的设计。

隐藏按钮并显示TextView。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

你可以使用最好的技术ViewSwitcher 这里只需使用按钮Simple :)

更改edittext

e.g

  

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");
    }

希望有所帮助