TextView在Android Studio中显示,但在设备和调试监视器上不显示

时间:2014-01-29 09:41:26

标签: android android-layout android-fragments

我收到GCM通知后会显示一个弹出窗口。弹出窗口实现为LinearLayout,它是弹出活动中的setContentView'd。 Android Studio中的布局呈现如下所示:

screenshot of Android Studio

但是,在设备和DebugMonitor View Hierarchy转储上它没有显示,尽管它在那里:

screenshot of DebugMonitor's View Hierarchy dump

TextView的默认文本是“Where?”在扩展的Activity类中替换:

    String lightName = getIntent().getStringExtra(LIGHT_NAME_KEY);
    final TextView lightNameLabel = (TextView) findViewById(R.id.lightNameLabel);
    lightNameLabel.setText(lightName);

我在这里不知所措。我通过项目文件进行了grep'ed,除了上面的代码片段之外,没有TextView的id的其他用途。你能不能给我一些指点来调查TextView没有显示的原因?

[edit]我为相应的TextView包含.xml片段:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:id="@+id/lightNameLabel"
    android:layout_gravity="center_horizontal"
    android:layout_marginTop="1dp"
    android:text="Where?"
    android:visibility="visible" />

[edit 2]指向整个布局.xml文件的链接:http://pastebin.com/2uqkzBSa

1 个答案:

答案 0 :(得分:4)

显示屏幕截图很有帮助,因为问题可能是您在对话框中显示布局。如果在Android Studio的图形编辑器窗格中选择Holo对话框主题,则会发现默认文本颜色为白色。由于你提供了浅色背景,因此浅色文字很难辨认出来。

有不同的解决方案:

  • 在显示对话框时提供不同的主题,以确保原色较暗;或
  • 定义自己的主题并在显示对话框时提供;或
  • 修改布局以指定文本颜色。