ارجاع به id یک TextView ، با تعریف رشته (string)، در برنامه نویسی اندروید
معمولا به id یک TextView به صورت زیر ارجاع داده می شود :
که در آن، myTextView ، همان id تعریف شده برای TextView می باشد.
اما گاهی نیاز داریم که ارجاع به id برای TextView به گونه ای باشد که بتوانیم با استفاده از رشته های (string) مورد نظرمان، id را بسازیم، تا آزادی عمل بیشتری داشته باشیم.
برای این منظور، id برای TextView را به صورت زیر تعریف می کنیم :
int resID = getResources().getIdentifier(textId , "id", getPackageName());
TextView tv = (TextView) findViewById(resID);
و یا به شکل زیر (شکل دوم) :
int resID = getResources().getIdentifier(textId , "id", "package.name");
TextView tv = (TextView) findViewById(resID);
که در آن، "package.name" ، نام package برنامه اندروید مورد نظر ما می باشد.
همچنین در هنگام تعریف یک متن جدید برای TextView نیز می توان از این روش استفاده نمود. به کدهای زیر توجه کنید، این کدها روش عادی برای تعیین id مربوط به عکسی است که می خواهیم در TextView نمایش داده شود :
tv.setText(R.string.my_text);
که در آن، myTextView ، همان id تعریف شده برای TextView می باشد و my_text ، یک رشته (string) می باشد که در فایل strings.xml تعریف شده است.
به جای کدهای بالا، می توانیم از کدهای زیر استفاده کنیم :
String textName = "my_text";
int resID = getResources().getIdentifier(textName, "string", getPackageName());
tv.setText(resID);
و یا به شکل زیر (شکل دوم) :
String textName = "my_text";
int resID = getResources().getIdentifier(textName, "string", "package.name");
tv.setText(resID);
که در آن، "package.name" ، نام package برنامه اندروید مورد نظر ما می باشد.