问题
I've declare a String
:
<string name="Please">Please Select</string>
in the res/values/Strings.xml
. Now I want to access this String
value but what I can get can go till id not value like:
int i = findViewById(R.string.Please);
But what I want is just the value of the string Please
.
Thanks for all of your answer but my problem is a little bigger
What I wanted to do is just to display date with app_name
from all your answers i can get the app_name String but whether I can set This app_name with current date
<string name="app_name">My app</string>
and also I'm to set my in this way
My app(in Left alignment) Date (in right aligment)
and also on start of first activity i want to set app_name and not on every activity;
I think it may work let me try
setResource().setString(R.string.Please);
but no setResource() method sorry.
回答1:
You cant set a string, its static, and cant be changed at run-time, what you want to do is something like this
Calendar cal = Calendar.getInstance();
String date = cal.get(Calendar.DAY_OF_MONTH) + "/" + cal.get(Calendar.MONTH) + "/" + cal.get(Calendar.YEAR);
setTitle(date);
Your trying to set the title as the date right?
To have two titles it is a bit harder, first you need a layout, call this custom_title_1
This is the xml code for that layout
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/screen"
android:layout_width="match_parent" android:layout_height="match_parent"
android:orientation="vertical">
<TextView android:id="@+id/left_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:text="@string/custom_title_left" />
<TextView android:id="@+id/right_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="@string/custom_title_right" />
</RelativeLayout>
Then in your code before you call the UI you need to call this:
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
then set you content view
then call this which will set the title:
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title_1);
Now you can find the two textViews and set the text:
TextView leftText = (TextView) findViewById(R.id.left_text);
TextView rightText = (TextView) findViewById(R.id.right_text);
Calendar cal = Calendar.getInstance();
String date = cal.get(Calendar.DAY_OF_MONTH) + "/" + cal.get(Calendar.MONTH) + "/" + cal.get(Calendar.YEAR);
String app_name = getString(R.string.app_name);
leftText.setText(app_name);
rightText.setText(date);
回答2:
Try like this
String temp = getResources().getString(R.string.Please);
回答3:
Try this.
String value = getResources().getString(R.string.Please);
回答4:
String str = getResources().getString(R.string.Please);
回答5:
String resources are not views. To use a string resource you would do
@string/Please
来源:https://stackoverflow.com/questions/10101174/how-to-get-and-set-string-resource-values-in-android