نمایش یک متن در TextView، در برنامه نویسی اندروید با کدنویسی در فایل java

اگر بخواهیم که متن مورد نظرمان برای نمایش در TextView را با کدهای java تعیین کنیم، باید در فایل java (یعنی در میان کدهای Activity مورد نظر)، کدهای زیر را بنویسیم:

TextView TxtViText1= (TextView) findViewById(R.id.textView1);
TxtViText1.setText(“My Text”);

در کد بالا، id مربوط به TextView را برابر textView1 در نظر گرفته ایم.

دقت داشته باشید که درون فایل java ، می توانیم متن فارسی بنویسیم (فقط اگر در Eclipse کدنویسی می کنیم، برنامه Eclipse تذکر می دهد که فایل java به شکل مناسب برای متن فارسی Save شود)، اما در کل بهتر است که متن (چه فارسی چه انگلیسی) را به صورت یک رشته (String) در فایل strings.xml تعریف کرده و سپس مقدار آن را از آن فایل دریافت کنیم و با روش setText ، در TextView نمایش بدهیم (اینکه متن در خود فایل java نوشته شود و یا در strings.xml ، بیشتر به سلیقه خود برنامه نویسی بستگی دارد). مثلا فرض کنید که متن مورد نظرمان را در فایل strings.xml و با نام String1 تعریف کرده ایم، اکنون برای نمایش آن در TextView ، کدهای زیر را می نویسیم :

TextView TxtViText1= (TextView) findViewById(R.id.textView1);

String stringName = “String1”;
int resID = getResources().getIdentifier(stringName,”string”,getPackageName());
String stringToShow = getResources().getString(resID);

TxtViText1.setText(stringToShow);

در کد بالا، ابتدا TextView تعریف شده در فایل xml را شناسایی کرده ایم (تگ TextView با id برابر textView1 در فایل xml نوشته شده) :

TextView TxtViText1= (TextView) findViewById(R.id.textView1);

فرض می کنیم که در فایل strings.xml، متن (رشته) مورد نظرمان با نام String1 تعریف شده است. بنابراین این نام را در یک متغیر از جنس رشته (String) ذخیره می کنیم (که در ادامه می خواهیم آن را به کار ببریم) :

String stringName = “String1”;

با دو خط زیر از کدها، بر اساس نام متن (رشته) تعریف شده در فایل strings.xml ، مقدارش (متن مورد نظرمان) را دریافت کرده و در متغیری از جنس رشته (String) و با نام stringToShow ذخیره می کنیم:

int resID = getResources().getIdentifier(stringName,”string”,getPackageName());
String stringToShow = getResources().getString(resID);

در آخر، متن (رشته) ذخیره شده در stringToShow را در TextView شناسایی شده نمایش می دهیم:

TxtViText1.setText(stringToShow);

نمایش یک متن در TextView، در برنامه نویسی اندروید در فایل xml

 

برای تعیین متن مورد نظر برای نمایش در TextView ، باید درون فایل xml ای که در آن، TextView تعریف شده است، کد زیر را به کدهای تعریف TextView اضافه کنیم :

android:text=”متن مورد نظر شما”

در این روش، می توانیم متن فارسی مورد نظرمان را به طور مستقیم درون فایل xml بنویسیم.

معمولاً توصیه می شود که متن های مورد نظرمان را به صورت رشته (string) در فایل strings.xml تعریف کنیم و سپس آن را به صورت یک رشته (string) از فایل strings.xml فراخوانی کنیم. مثلاً فرض کنید که متن را به صورت یک رشته (string) و با نام String1 ، در فایل strings.xml تعریف کرده ایم، اکنون برای اینکه در فایل xml و در میان کدهای مربوط به تعریف عنصر TextView ، به متن مورد نظر، ارجاع بدهیم، کدهای زیر را می نویسیم :

android:text=”@string/String1″