Как удалить привязку ButterKnife для представлений Android из моего кода? - PullRequest
0 голосов
/ 15 декабря 2018

Я ищу простой способ удаления Butterknife из примеров кода.

Я нашел этот плагин для Android Studio: RemoveButterKnife

https://github.com/u3shadow/RemoveButterKnife

Это очень простоиспользовать и сделать работу.Но есть ли другой способ просто перейти к обычному объявлению представлений Android?

Где выигрыш между:

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

и

@BindView(R.id.txt) TextView txt;

1 Ответ

0 голосов
/ 19 декабря 2018

Плагин RemoveButterKnife :

Что такое плагин

Плагин Android Studio, помогающий удалить использованиеof ButterKnife

Почему я это делаю

ButterKnife - хорошо известный инструмент с открытым исходным кодом, который поможет вам внедрить ваше представление, но иногда вы используетеПлагин к коду Gen Butterknife, но вы не хотите использовать его снова.Это очень ужасная работа - удалять каждую строку кода ввода и писать код findviewbyid, поэтому я создал этот плагин для этого.

Как его использовать

1. Клонируйте код и постройте его в своей идее

2. Затем вы можете найти jar, установить его как плагин в AndroidStudio (вы также можете найти jar в проекте)

3.Откройте вашу активность / фрагмент, который вы хотите изменить.

4.Найдите кнопку RemoveButterKnife в меню редактирования вашей студии Android

ДО:

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);
}
...