我需要在XML文件中声明一个没有ID的View。可能吗?我尝试使用this.getCurrentFocus()来获取它,但是我不确定这是否可以解决问题。
这是代码的一个简单示例:
public class TestIdActivity extends AppCompatActivity {
ScrollView mScrollView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test_id_leyout);
mScrollView = (ScrollView) this.getCurrentFocus();
mScrollView.setId(View.generateViewId());
}
}
在最后一行中,我尝试为视图设置ID。
为了在代码逻辑中引用UI元素,您必须通过其ID来提及它们。因为当您通过id链接它们时,它充当UI元素和代码逻辑之间的链接桥(Connecting bridge)。另外,通过id引用似乎没有任何问题。
如果您厌倦了为每个视图不断地通过id进行引用,那么您可以看一下名为:牛刀。
这可能对您有用!
您可以使用Tag获得视图的另一种方法!
mScrollView.setTag("view1");
然后可以得到
findViewWithTag("view1")