如果我有一个定义的 UI 元素,例如
<TextView
android:id="@+id/output"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:typeface="monospace"
android:textSize="12sp" />
我可以用类似的东西来引用它
TextView output = (TextView) findViewById(R.id.output);
但是,如果 TextView 不存在,那么我什至无法编译代码,因为没有R.id.output
生成并且在编译时被捕获。
有没有办法在不通过 引用它的情况下测试元素是否存在R.id...
,因为如果不存在则会产生编译时错误?
实际上,我相信我不仅需要测试它是否存在,还需要另一种引用它的方式。
也许像
TextView output = null;
if((output = findViewByName("output")) != null)
{
// Do something with output
}
(当然,该findViewByName
功能不存在。)
谢谢