2016-11-16 25 views
-1

在我的Java代碼中,我可以輕鬆訪問標準Android字符串,如「保存」,「確定」,「取消」等。在一個活動中,我可以這樣做,如下所示: getString(android.R.string.cancel)引用XML中的標準Android字符串

我想從XML文件中訪問這些字符串。我嘗試過像android:text="@android:string/cancel這樣的東西,但這似乎不起作用。有沒有辦法在XML中使用這些字符串?

+1

「這似乎不起作用」 - 嗯......我希望能夠工作。你有什麼症狀? – CommonsWare

+0

@CommonsWare:Android工作室說'無法解析符號'。它自動完成'android:'部分,但是在編寫'string /'部分時,它不再顯示任何工具提示。 – Marcel50506

+1

使用'@ string/cancel' –

回答

1

我無法重現您的問題。在Android Studio 2.2.2中,我剛剛從新建項目嚮導中創建了一個新項目,選擇「Empty Activity」作爲模板並取消選中appcompat選項。然後,在activity_main.xml,我改變了TextView地提及您所需的字符串:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout android:id="@+id/activity_main" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.commonsware.myapplication.MainActivity"> 

    <TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@android:string/cancel" /> 
</RelativeLayout> 

這乾淨構建並運行在Android 7.1。

由於該字符串自API Level 1以來就在SDK中,因此我不會預期在使用它時會出現任何問題。