2016-11-16 7 views
-1

Javaコードでは、「save」、「ok」、「cancel」などの標準Android文字列に簡単にアクセスできます。ある活動では、私は次のようにこれを行うことができます: getString(android.R.string.cancel)XMLの標準Android文字列への参照

私はこれらの文字列をXMLファイルの中からアクセスしたいと思います。私はandroid:text="@android:string/cancelのようなものを試しましたが、これはうまくいかないようです。これらの文字列をXMLで使用する方法はありますか?

+1

"これはうまくいかないようです" - うーん...私はそれが働くことを期待しています。あなたの特定の症状は何ですか? – CommonsWare

+0

@CommonsWare:Androidスタジオは「Can not resolve symbol」と言います。これは 'android:'部分をオートコンプリートしますが、 'string /'部分を書くときにはもうツールチップを表示しません。 – Marcel50506

+1

'@ string/cancel'を使用 –

答えて

0

トライアンドロイド:テキスト= "@文字列/キャンセル"

1

私はあなたの問題を再現することはできません。 Android Studio 2.2.2では、新規プロジェクトウィザードから「空のアクティビティ」をテンプレートとして選択し、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> 

これはきれいに構築し、アンドロイド7.1上で実行されます。

APIレベル1以降、その文字列がSDKに含まれていたため、使用する際に問題は発生しません。

関連する問題