我有一个活动,创建时包含EditText但如果单击一个按钮,它将被替换为名为MinPick的自定义视图。我需要另一个类来通过findViewById()获取视图。但是我当然需要定义获取id的变量应该是什么。 EditText或MinPick。如果它不是EditText,它如何做某种条件,它必须是MinPick。
答案 0 :(得分:1)
您可以使用instanceof
检查返回的对象的类:
final View v = findViewById(R.id.floating_component);
if (v instanceof EditText)
// do stuff with the EditText instance;
else if (v instanceof MinPick)
// do stuff with the MinPick instance;
另一方面,@Sergey Glotov
是正确的,处理状态是一种更好的技术,并且基于它们显示适当的视图。
答案 1 :(得分:0)
您可以使用“instanceof”:
final View tempView = findViewById(R.id.XXXxxxxXXX);
if (tempView instanceof EditText)
{
// TODO Do some stuff
}
else
{
// TODO Do some other stuff
}