标题有点令人困惑,所以让我进一步解释一下。我试图制作的应用程序有多个按钮,可打开一个新的 Activity ,这些按钮看起来相同,但文本根据单击的按钮而有所不同(如字典)。因此,我没有重新创建该 Activity 50 多次,而是在第一个 Activity 中使用新 Intent 为 onClick() 创建了一个新方法,并向第二个 Activity 添加了 getIntent()。
//first activity method
public final static String TRANSFER_SYMBOL = "com.engineering.dictionary.MESSAGE";
public void openView(View view)
{
Intent open = new Intent(this,displayCharHB.class);
Button setBtn = (Button) findViewById(view.getId());
String grabText = setBtn.getText().toString();
String thisChar = "sym_hira_" + grabText;
open.putExtra(TRANSFER_SYMBOL,thisChar);
startActivity(open);
}
//second Activity method
@Override
protected void onCreate(Bundle savedInstanceState) {
Intent grabChar = getIntent();
String thisChar = grabChar.getStringExtra(hira_basic.TRANSFER_SYMBOL);
//String strValue = "R.string." + thisChar;
TextView displaySym = (TextView) findViewById(R.id.charDisplay);
displaySym.setText(thisChar);
}
sym_hira_ + 存储在grabText中的任何内容都是strings.xml中字符串的名称(例如,grabText =“ro”,sym_hira_ro是一个字符串名称)。是否可以让它使用 setText() 引用该字符串名称,而不是实际将文本设置为“sym_hira_...”?
最佳答案
Is it possible to get it to reference that string name with setText()
使用getIdentifier
使用名称从strings.xml
获取值:
int resId = getResources().getIdentifier(thisChar, "string",getPackageName());
displaySym.setText(getResources().getString(resId));
关于java - 是否可以将 String 值更改为 R.string 引用名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28468230/