mrMagik3805
mrMagik3805

Reputation: 41

using strings.xml in Mono for Android

I am using android SDK with Microsoft VS2010 C#. I want to use string values from my /resources/values/strings file in my C# code. Here is a piece of code that illustrates what I want to do. I am not getting the string value. I know that the resource id is an int, but what I need is the actual string value behind that id.

        void vx2OkButton_Click(object sender, EventArgs e)
    {
        Log.Info(LOG_TAG, "Hello from OkButton|Enter()button");  // also used as Enter button
        strVx20kButtonText = vx2OkButton.Text.ToString();
        mDwnLdCodeEnteredByUser = vxxDwnldCodeEntered.Text.Trim();
        string strDwnldCodeOut = mActCode.Bad.ToString();

        if(strVx20kButtonText == Resource.String.Enter.ToString())
        {
            if (mDwnLdCodeEnteredByUser.Length < 1)
            {
                vxxSystemMsgBox.SetText(Resource.String.FieldRequried_);
                m_txvEnterDwnLdCode.SetTextAppearance(this,Resource.Color.Red);
                return;
            }
            // verify the dwnldcodeenter by the user matches the assigned to user when at the time the downloaded the app 

            mDwnLoadStatus = VerifyDwnLoadCode(mDwnLdCodeEnteredByUser);

            if (mDwnLoadStatus == mDwnLdStatCode.BadDwnLdCode.ToString())
            {
                vxxSystemMsgBox.SetText(Resource.String.InvalidValueEntered);
                m_txvEnterDwnLdCode.SetTextAppearance(this, Resource.Color.Red);
                return;
            }

            mActionCD = mActCode.Ok.ToString();
            vx2OkButton.SetText(Resource.String.OkButtonText);
            vxxSystemMsgBox.SetText(Resource.String.ThanksPressOkButton);
            m_txvEnterDwnLdCode.SetTextAppearance(this,Resource.Color.White);
            return;
        }

Upvotes: 0

Views: 1687

Answers (1)

Greg Shackles
Greg Shackles

Reputation: 10139

As you noticed, Resource.String.Enter is an integer generated for you that you can use to access the string resource. You can access it using the Android.Content.Res.Resources.GetString() method:

string enter = Resources.GetString(Resource.String.Enter);

Upvotes: 5

Related Questions