任何视图上的 setText()
setText() on any view
我想将文本设置为常规 View class 如果 View 没有 setText() 方法,如 ImageView 只是为用户抛出一个异常。我已经尝试使用 instanceof
,但我不知道有多少视图具有 setText(),而且我无法涵盖自定义视图。
setText
方法在 TextView
class 中定义,任何其他具有 setText
方法的 class(如 Button、EditText),他们都知道来自 TextView
class 通过继承。
因此,要检查视图是否具有 setText
方法,您只需检查它是否是 TextView
class 的引用。
所以你可以这样做:
if (view instanceof TextView)
{
((TextView) view).setText("Type whatever you want to set");
}
else
{
// throw your exception here
}
我想将文本设置为常规 View class 如果 View 没有 setText() 方法,如 ImageView 只是为用户抛出一个异常。我已经尝试使用 instanceof
,但我不知道有多少视图具有 setText(),而且我无法涵盖自定义视图。
setText
方法在 TextView
class 中定义,任何其他具有 setText
方法的 class(如 Button、EditText),他们都知道来自 TextView
class 通过继承。
因此,要检查视图是否具有 setText
方法,您只需检查它是否是 TextView
class 的引用。
所以你可以这样做:
if (view instanceof TextView)
{
((TextView) view).setText("Type whatever you want to set");
}
else
{
// throw your exception here
}