我的布局文件中有一个EditText。用户点击此字段后,我希望将其替换为以下元素标记。我该怎么做?
自:
assert
要:
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:text="Name"
android:ems="10"
android:layout_alignParentTop="true"
android:layout_marginTop="26dp" />
答案 0 :(得分:1)
为两个视图添加ID,并通过将可见性设置为GONE
来初始隐藏CardView<EditText
android:id="@+id/edittext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:text="Name"
android:ems="10"
android:layout_alignParentTop="true"
android:layout_marginTop="26dp" />
<android.support.v7.widget.CardView
android:id="@+id/cardview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone">
<fragment
android:id="@+id/autocomplete_fragment"
android:name="com.google.android.gms.location.places.ui.PlaceAutocompleteFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.v7.widget.CardView>
在您的java类中,在用户单击
时更改cardview和edittext的可见性mEditText.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mEditText.setVisibility(View.GONE);
mCardView.setVisibility(View.VISIBLE);
}
});
答案 1 :(得分:0)
最简单的解决方案是将它们嵌入到LinearLayout或类似的东西中,并更改用户点击的可见性。隐藏EditText并显示CardView。
答案 2 :(得分:0)
您应该在布局中添加它们,默认情况下将CardView可见性设置为GONE
。
然后在您的班级中,您处理用户点击的位置,将EditText
展示次数设置为View.GONE
,将CardView
展示次数设置为View.VISIBLE
答案 3 :(得分:0)
实施edittext的OnClickListener
和onClick()
内部方法隐藏您的编辑文字,并通过调用方法edittext.setVisibility(View.INVISIBLE)
和cardview.setVisibility(View.VISIBLE)
取消隐藏卡片视图