我有一个错误函数,它将View
作为输入,并通过将其背景更改为红色来显示错误,同时视图的值有任何问题,如下所示 -
public static void error(View v) {
v.setBackgroundResource(android.R.color.holo_red_light);
}
我在另一个我正在使用它的函数中使用此函数 -
public static void nonEmptyNonZero(View v) {
String check = "";
check = ((TextView) v).getText().toString();
if ((check.equals(null)) || check.equals("0") || check.equals("")) {
error(v);
}
}
我的问题是,v
可能是任何东西(TextView,EditText)。那么如何识别视图的类型。因此,我可以使用适当的铸造,同时使用 -
check = ((TextView) v).getText().toString();
PS - 我已经使用了instanceOf
,我不确定如何投射View
。
答案 0 :(得分:0)
就像您在对象列表中的视图一样
List<Object> objectViews=new ArrayList();
观看次数
EditText txtEditText=new EditText();
TextView txtTextView=new TextView();
objectViews.add(txtEditText);
objectViews.add(txtTextView);
遍历以查找对象(视图)
Object view=new Object();
for(int i=0;i<objectViews.size;i++)
{
view.get(i);
if(view instanceof EditText)
{
Log.e("EditText","value="((EditText) view).getText());
}
else if(view instanceof TextView)
{
Log.e("TextView","value="((TextView) view).getText());
}
}