你的XML应该是这样的,
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<EditText
android:id="@+id/et1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:text="Name" />
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
现在,下面的代码添加到您的活动类。
//init the views.
et1.setVisiblity(GONE);
tv1.setVisiblity(VISIBLE);
//if the textView is shown, the btn click will hide it and show editText
//instead, and same happens for editText
btn1.setOnClickListener(new View.OnClickListener(){
public void onClick(){
if(et1.getVisiblity() != VISIBLE) {
et1.setVisbility(VISIBLE);
tv1.setVisibility(GONE);
} else {
et1.setVisbility(GONE);
tv1.setVisibility(VISIBLE);
}
} });
P.S:这不是可执行代码,尽管希望它能让你明白。
只要在'Edittext'中删除这些行,就可以使用android:background =“null”'并且使游标不可见,'android:cursorVisible =“false”'。然后使用该按钮单击,将背景设置为“EditText”并使光标再次可见。 –
欢迎来到StackOverflow,@Fatima Saif!我们很乐意为您提供帮助,但您的问题并非[最小,可验证和完整](https://stackoverflow.com/help/mcve)。请考虑加入你的问题,以便我们能够帮助你。 – AJFarmar
同时使用它们,'editText'应该是默认不可见的,点击后它将变得可见,但'textView'将不可见。 – samirk433