我对Android Studio很陌生,我希望能够快速访问按钮,图像视图,文本视图等视图。
到目前为止,我知道方法findViewById
,这就是我正在做的创建轻松访问视图的方法:
Button btn1, btn2, btn3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.btn1=(Button)findViewById(R.id.btn1);
this.btn2=(Button)findViewById(R.id.btn2);
this.btn3=(Button)findViewById(R.id.btn3);
}
//then I simply use my defined vars
虽然它有效,但是必须编写所有这些代码(或者每次必须使用findViewById
仍然很无聊,使用繁琐的方式获取ID并仍然添加一个演员)。
这真的是最好的方法吗?
答案 0 :(得分:4)
你可以查看像Butterknife http://jakewharton.github.io/butterknife/这样的图书馆。
它阻止您编写样板代码 - 只需注入视图。 您可以将它与此Android Studio插件结合使用: https://plugins.jetbrains.com/plugin/7369-android-butterknife-zelezny
通过这种设置,注入视图非常简单快捷。
另外,您可以查看"数据绑定"等主题。 https://developer.android.com/topic/libraries/data-binding/index.html 这也是为您定义视图的好方法。
答案 1 :(得分:3)
答案 2 :(得分:3)
你可以使用3种方式:
<强> 1.findViewById 强>
正常但最难的。 您可以使用插件findviewbyme(link)来加速编写代码
2.butterknife Library
使用此lib时,代码变少。您可以查看此link
3.数据绑定库
最好的方法是,在初始绑定之后,在布局中添加新视图时,您无需任何其他代码即可访问它。你可以查看这个(link)
答案 3 :(得分:2)
您可能感兴趣的是AndroidAnnotation和ButterKnife等库。如果您使用Android Annotation,这就是您的代码的样子。
@EActivity(R.layout.activity_main)
public class MainActivity extends Actiivty {
@ViewById
Button btn1, btn2, btn3;
}
答案 4 :(得分:1)
由于没有人在他们的任何答案中提到这一点,Kotlin现在正式支持Android开发,并且有一个android kotlin扩展(https://kotlinlang.org/docs/tutorials/android-plugin.html),它允许你直接访问视图而不需要findViewById()。 / p>
如果您决定使用它,请注意,如果您在片段中使用它,则必须在onCreateView()中传递视图后使用它,否则它将无法找到视图。
如果你还没有为Kotlin做好准备,那么我强烈推荐使用butterknife或任何其他解决方案进行数据绑定,因为这是Google与android的关系。