如果电话价值通过意图传递到活动,我的TextView
内有Image
和LinearLayout
,那么我设置包含广告的布局的可见性文字和图像可见。
在我的代码中,布局显示,但文本和图像即使在设置可见的相同检查中设置为可见也不会。我添加了我的xml和Java代码,用于在我的代码中设置可见性。
if(extras.getString("phone") != null){
Log.d("PHONE VISIBLE", "phone made clayout visible");
contactsLayout.setVisibility(View.VISIBLE);
phoneLayout.setVisibility(View.VISIBLE);
mPhone = extras.getString("phone");
Log.d("places got phone", mPhone.toString());
phone.setText(mPhone);
}
这是我的xml代码
<LinearLayout
android:id="@+id/contactsLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:layout_below="@+id/summary"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/contactsLabel"
android:background="@color/gray"
android:paddingLeft="16dp"
android:text="contact"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/phoneLayout"
android:orientation="horizontal"
android:visibility="gone">
<ImageView
android:id="@+id/phoneImage"
android:src="@drawable/icon_phone"
android:layout_width="60dp"
android:layout_height="60dp"/>
<TextView
android:id="@+id/phoneNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="16dp"
tools:text="phoneNumber"/>
</LinearLayout>
<LinearLayout
android:id="@+id/emailLayout"
android:paddingLeft="16dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<ImageView
android:id="@+id/emailImage"
android:src="@drawable/icon_email"
android:layout_width="60dp"
android:layout_height="60dp" />
<TextView
android:id="@+id/email"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
tools:text="email"/>
</LinearLayout>
</LinearLayout>
答案 0 :(得分:1)
正如迈克所说
按如下方式更改contactsLabel:
TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/contactsLabel"
android:background="@color/gray"
android:paddingLeft="16dp"
android:text="contact"/>
答案 1 :(得分:0)
将您的contactsLayout方向更改为vertical,然后您就可以看到phonelayout。
答案 2 :(得分:0)
用
替换你的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:orientation="vertical">
<LinearLayout
android:id="@+id/contactsLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:layout_below="@+id/summary"
android:orientation="vertical"
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/contactsLabel"
android:background="#F4F3F3"
android:paddingLeft="16dp"
android:text="contact"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/phoneLayout"
android:orientation="horizontal"
android:visibility="gone">
<ImageView
android:id="@+id/phoneImage"
android:src="@drawable/ic_launcher"
android:layout_width="60dp"
android:layout_height="60dp"/>
<TextView
android:id="@+id/phoneNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="16dp"
tools:text="phoneNumber"/>
</LinearLayout>
<LinearLayout
android:id="@+id/emailLayout"
android:paddingLeft="16dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<ImageView
android:id="@+id/emailImage"
android:src="@drawable/ic_launcher"
android:layout_width="60dp"
android:layout_height="60dp" />
<TextView
android:id="@+id/email"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
tools:text="email"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
确保您已设置手机的“手机”容器可见
if(getIntent().getExtras() != null)
{
contactsLayout.setVisibility(View.VISIBLE);
phoneLayout.setVisibility(View.VISIBLE);
mPhone = extras.getString("phone");
phone.setText(mPhone);
}