3

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.

3
  • 1
    you can accept one of answer below if it helped you Commented Apr 11, 2012 at 6:51
  • 2
    let me get answer what i want i'll do it's not an issue Commented Apr 11, 2012 at 6:58
  • 2
    can go till id not value like what? Commented Jan 1, 2017 at 23:43

5 Answers 5

12

Try like this

String temp = getResources().getString(R.string.Please);
Sign up to request clarification or add additional context in comments.

Comments

10

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);

6 Comments

you got wrong i did like this but what i actually wanted to set the strings stored in strings.xml under res/strings/ there you have found string app_name what i wanted to set this from my code don't hurry read whole question
Did you see the rest of it? I dont think I got anything wrong?
You cant change strings in the strings.xml file, the best you can do is this, every time the application is run it will take half a ms to load this, also you get the alignment, can you explain more in a comment here if you wanted something different? This is what I understood is what you want.
Btw I was editing it because I was reading through what I already had, saving it as I went along
you must read thisline and also on start of first activity i want to set app_name and not on every activity;
|
5

Try this.

String value = getResources().getString(R.string.Please);

Comments

2
 String str = getResources().getString(R.string.Please);

Comments

1

String resources are not views. To use a string resource you would do

@string/Please

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.