Android Studio:如何自动将视图变量从xml生成为Java类?

时间:2018-09-05 19:27:53

标签: java android android-studio

我有以下活动xml文件:

enter image description here

我想基于它们的名称在java文件中生成所有view变量。

对于此示例:

public class RegisterActivity extends AppCompatActivity {
    private EditText editText_firstname;
    private TextView label_lastname;
    // .. So on

    private void setup_views() {
         editText_firstname = (EditText) findViewById(R.id.editText_firstname);
         label_lastname = (TextView) findViewById(R.id.label_lastname);
         // .. So on
    }
}

对于任何新活动,一遍又一遍都非常令人沮丧,而且我似乎基本不在android studio中。

那么,我该怎么做?

谢谢。

5 个答案:

答案 0 :(得分:0)

在Java中尚未开发findviewByid(),您可以使用数据绑定库,例如Butter Knife

或使用android native DataBinding

答案 1 :(得分:0)

如上所述的DataBinding或切换到Kotlin,您将不需要findViewById

答案 2 :(得分:0)

在Java中,这可能令人沮丧,但是如果您切换到Kotlin,则使用这种出色的Anko Library

答案 3 :(得分:0)

Android Studio有一个允许您执行此操作的插件,请参考以下链接以获取该插件: https://plugins.jetbrains.com/plugin/7595-android-code-generator

答案 4 :(得分:0)

在最近发布的 Android API 中,ViewBinding 是操作视图组件的推荐方式。

然而,如果你真的需要经典的 findViewById(),这里有几个你可以在 Android Studio 中使用的插件:

  1. https://plugins.jetbrains.com/plugin/11204-android-findviewbyid-support
  2. https://plugins.jetbrains.com/plugin/7595-android-code-generator
  3. https://github.com/laobie/FindViewByMe
  4. https://github.com/dotnet-ad/AutoFindViews