0

我想做一个自动转换我的findViewById-View-from reference的函数。我能以某种方式做到这一点吗?

private View getReferenceForView(View view, int resId)
      {
         view =  (view.getClass())findViewById(resId);


          return view;
      }

view.getClass() 在那里不被接受,但我想在通话中实现这样的目标:

myView = getReferenceForView(myView, R.drawable.someresid);

所以我可以在没有 annyoing 铸造部分的情况下获得我的观点的参考。

4

1 回答 1

1

使用您想要的方法的唯一方法是使用反射instanceof。但这会导致 Android 中每个可用视图的巨大 if-else 块。

您将有以下内容:

private View getReferenceForView(View view, int resId)
{
     if(view instanceof TextView)
         view = view.findViewById(resId);

     else if(view instanceof EditText)

     // and so on..

     return view;
  }

我不知道你的确切方法,但我认为这不值得努力。

于 2013-07-18T17:46:17.130 回答