我想使用带字符串的findViewById作为Id
问题描述:
我是Android Studio的新手,刚刚尝试学习新的代码方式,现在我被卡住了。例如,我想在findViewById中使用一个字符串。我想使用带字符串的findViewById作为Id
public void BDate0(String BId, String BHistoryClass) {
bdatum0 = (Button) findViewById(R.id.BId);
bdatum0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent BDatum0 = new Intent(bethistory.this, BHistoryClass.class);
startActivity(BDatum0);
}
});
}
,我想打电话给BDate0与琴弦例如,
BDate0(BId1, BHistory1);
我有10个按钮和他们开始活动每天都会有所不同。
对不起,这不是我的母语,并感谢您提前的帮助。
答
您可以使用此代码替换findViewById(..)
。这应该有可能使用一个字符串作为标识符:
String BId = "button1"; // for example
int id = getResources().getIdentifier(BId, "id", getPackageName());
// finds R.id.button1
bdatum0 = (Button) findViewById(id);
我觉得你的问题是dublicate:http://stackoverflow.com/a/13116057/4376058 –
的可能的复制[如何转换R.drawable字符串在android中的可绘制整数格式?](http://stackoverflow.com/questions/13115914/how-to-convert-r-drawable-string-to-r-drawable-integer-format-in-android) –