Android Studio – 获取活动视图实例的最佳方式

我是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并且仍然添加一个cast的方法很麻烦)。

这真的是这样做的最好方法吗?

你可以看看像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这也是一个很好的方法来为您定义的意见。

你可以使用3种方式:

1.findViewById

正常的方式,但最难的。 你可以使用插件findviewbyme( 链接 )加快编写代码

2.butterknife图书馆

当使用这个库时,代码变少了,你可以检查这个链接

3.数据绑定库

最好的方法就是在初始绑定之后,在布局中添加新视图时,您可以在没有任何附加代码的情况下访问它。 你可以检查这个( 链接 )

在android中,你不需要在findViewById之前写(Cast) ,还有第三部分库叫做ButterKnife ,应用插件并生成它,你可以很容易地处理这个问题。

在这里输入图像描述

在这里输入图像描述

你可能会感兴趣的有AndroidAnnotation和ButterKnife等库。如果你使用Android Annotation,你的代码将会是这样的。

 @EActivity(R.layout.activity_main) public class MainActivity extends Actiivty { @ViewById Button btn1, btn2, btn3; } 

由于没有人在他们的答案中提到过这个,所以Kotlin现在正式支持android开发,并且有一个android kotlin扩展( https://kotlinlang.org/docs/tutorials/android-plugin.html ),它允许你访问这个视图直接没有findViewById()。

如果你决定使用它,只要注意,如果你在片段中使用它,你必须在onCreateView()中传递视图之后使用它,否则它将不会查找视图。

如果您还没有准备好Kotlin,那么我会强烈建议使用butterknife或其他任何解决方案进行数据绑定,因为这是Google使用android的方向。