gpt4 book ai didi

Java instanceof 解决方法

转载 作者:太空宇宙 更新时间:2023-11-03 13:25:49 25 4
gpt4 key购买 nike

<分区>

我在 Android 项目中工作,目前需要为所有 View 创建容器。目前有很多如果,我想摆脱它们。假设所有 View 都有持有者

 if (v instanceof Spinner)
{
holder = new SpinnerHolder(v);
}
else if (v instanceof AdapterView)
{
holder = new AdapterViewHolder((AdapterView) v);
}
else if (v instanceof CompoundButton)
{
holder = new CompoundButtonHolder(v);
}
else if (v instanceof EditText)
{
holder = new TextViewHolder(v);
}
else if (v instanceof SeekBar)
{
holder = new SeekBarHolder(v);
}
else if (v instanceof TabHost)
{
holder = new TabHostHolder(v);
}

我当然可以做类似的事情

String simpleName = v.getClass().getSimpleName();
Class.forName("com.myproject.myholderpackage" + simpleName + "Holder");
...

但是它不起作用,例如,如果有像这样的自定义 View

public class foo extends LinearLayout
{
}
public class bar extends foo
{
}

谢谢。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com