如何从我的代码中删除 Android 视图的 ButterKnife 绑定?

问题描述 投票:0回答:1

我正在寻找一种从代码示例中删除 butterknife 的简单方法。

我为 Android Studio 找到了这个插件:RemoveButterKnife

https://github.com/u3shadow/RemoveButterKnife

它非常易于使用和完成工作。但是还有另一种方法可以简单地切换到普通的 Android 视图声明吗?

之间的增益在哪里:

TextView text = findViewById(R.id.txt);

@BindView(R.id.txt) TextView txt;
android data-binding butterknife
1个回答
1
投票

删除 ButterKnife 插件

插件是什么

帮助删除 ButterKnife 的 Android Studio 插件

我为什么这样做

ButterKnife 是一个众所周知的开源工具来帮助你 注入你的观点,但有时,你使用插件来生成 butterknife 的 代码,但您不想再次使用它。这是一个非常可怕的工作 删除每一行注入代码并编写

findViewById
代码,所以,我做了 这个插件来做它。

使用方法

  1. 克隆代码并按照您的想法构建它

  2. 然后,你可以找到一个jar,把它作为一个插件安装到你的AndroidStudio中(你也可以在项目中找到这个jar)

3.打开您要更改的活动/片段。

4.在您的 android studio 编辑菜单中找到 RemoveButterKnife 按钮

之前:

public class MainActivity extends AppCompatActivity {
@BindView(R.id.hello_world_salute)
TextView helloText;
@BindView(R.id.stock_updates_recycler_view)
RecyclerView recyclerView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ButterKnife.bind(this);        
}

之后:

public class MainActivity extends AppCompatActivity {

TextView helloText;
RecyclerView recyclerView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    helloText = (TextView) findViewById(R.id.hello_world_salute);
    recyclerView = (RecyclerView) findViewById(R.id.stock_updates_recycler_view);
}

您可以删除多余的转换:

public class MainActivity extends AppCompatActivity {

TextView helloText;
RecyclerView recyclerView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    helloText = findViewById(R.id.hello_world_salute);
    recyclerView = findViewById(R.id.stock_updates_recycler_view);
}
© www.soinside.com 2019 - 2024. All rights reserved.