我想使用带有字符串的 findViewById 作为 Id
I want to use findViewById with strings as an Id
我是 Android Studio 的新手,只是想学习新的编码方法,但我现在被困住了。例如,我想在 findViewById 中使用字符串。
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 个按钮,activity 它们每天开始的时间都不一样。
抱歉英语不好,这不是我的母语,提前感谢您的帮助。
您可以使用此代码替换 findViewById(..)
。这应该可以使用字符串作为标识符:
String BId = "button1"; // for example
int id = getResources().getIdentifier(BId, "id", getPackageName());
// finds R.id.button1
bdatum0 = (Button) findViewById(id);
我是 Android Studio 的新手,只是想学习新的编码方法,但我现在被困住了。例如,我想在 findViewById 中使用字符串。
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 个按钮,activity 它们每天开始的时间都不一样。
抱歉英语不好,这不是我的母语,提前感谢您的帮助。
您可以使用此代码替换 findViewById(..)
。这应该可以使用字符串作为标识符:
String BId = "button1"; // for example
int id = getResources().getIdentifier(BId, "id", getPackageName());
// finds R.id.button1
bdatum0 = (Button) findViewById(id);