0

我有一个活动,它在创建时包含一个 EditText,但如果您单击一个按钮,它会被一个名为 MinPick 的自定义视图替换。我需要另一个类来通过 findViewById() 获取视图。但当然我需要定义获取 id 的变量应该是什么。EditText 或 MinPick。如果它不是 EditText 它必须是 MinPick,我该如何做某种条件。

4

2 回答 2

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是的,处理状态并基于它们显示适当的视图是一种更好的技术。

于 2012-05-14T14:28:13.673 回答
0

您可以使用“instanceof”:

final View tempView = findViewById(R.id.XXXxxxxXXX);

if (tempView instanceof EditText)
{
// TODO Do some stuff
}
else
{
// TODO Do some other stuff
}
于 2012-05-14T14:25:10.413 回答