如果自定义Textview背景,应用程序崩溃

时间:2011-08-02 22:38:12

标签: java android eclipse background textview

我正在制作一个应用程序,点击一个按钮后,它会变为另一个布局。一切都运行良好,但是当我在第二个布局的背景中设置textView样式时,它会崩溃并且在eclipse上显示“Source not found”

以下是textview在崩溃时的XML:

<TextView android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:layout_width="wrap_content" android:layout_below="@+id/textView1"
    android:layout_centerHorizontal="true" android:layout_marginTop="15dp"
    android:id="@+id/licenseKey" android:typeface="monospace"
    android:text="@string/loading" />

这是崩溃的时候:

<TextView android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:layout_width="wrap_content" android:layout_below="@+id/textView1"
    android:layout_centerHorizontal="true" android:layout_marginTop="15dp"
    android:id="@+id/licenseKey" android:typeface="monospace"
    android:text="@string/loading" android:background="@string/grey"/>

以下是活动代码:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.register);

    TextView licenseKey = (TextView)findViewById(R.id.licenseKey);
    licenseKey.setText(generateKey());
}

public String generateKey() {
    return "D5JO4-7VQP8-D7B3X-L8N0D";
}

我对这个问题感到非常难过。 textview通常会显示伪造的许可证代码,但一旦我改变了背景,它就会崩溃。我甚至没有看到第二个布局。在我的Nexus S Android 2.3.3上进行调试。

2 个答案:

答案 0 :(得分:0)

您应该将android:background属性设置为drawable或rgb值,而不是字符串。请参阅here

例如:android:background="#bebebe"

答案 1 :(得分:0)

android:background="@string/grey"

不应该是

android:background="@android:color/gray"