Android ButterKnife @OnClick () не работает, все зависимости нормально - PullRequest
1 голос
/ 19 сентября 2019
 @BindView(R.id.text_view)
TextView text_view;

@BindView(R.id.app_bar)
Toolbar toolbar;

 private FirebaseUser firebaseUser;

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

    ButterKnife.bind(this);
    setSupportActionBar(toolbar);



}

@OnClick(R.id.test_btn)
void btnTest(){
    Toast.makeText(this, "all ok", Toast.LENGTH_SHORT).show();
}

E / AndroidRuntime: FATAL EXCEPTION: main Process: com.example.calories, PID: 10164 java.lang.BootstrapMethodError: Исключение из метода начальной загрузки сайта вызова # 1 в butterknife.internal.DebouncingOnClickListener. (DebouncingOnClickListener.java:12) в com.example.calories.MainActivity_ViewBinding. (MainActivity_ViewBinding.java:34) в java.lang.reflect.Constructor.newInstance0 (собственный метод) в java.lang.reflect.Constructor.newInj: 343) в butterknife.ButterKnife.bind (ButterKnife.java:170) в butterknife.ButterKnife.bind (ButterKnife.java:99) в com.example.calories.MainActivity.onCreate (MainActivity.java:35) в android.app.Activity.performCreate (Activity.java:7136) в android.app.Activity.performCreate (Activity.java:7127) в android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1271) в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2893) в android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3048) в android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:78) в android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:108) в android.app.servertransaction.TransactionExecutor.execte68) на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1808) на android.os.Handler.dispatchMessage (Handler.java:106) на android.os.Looper.loop (Looper.java:193) наandroid.app.ActivityThread.main (ActivityThread.java:6669) в java.lang.reflect.Method.invoke (собственный метод) в com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit.java:493)

1 Ответ

0 голосов
/ 19 сентября 2019

Butter Knife требует, чтобы вы включили Java 8 в ваших сборках для работы с версии 9.0.0 и новее.Вы можете узнать больше о том, как включить это в https://developer.android.com/studio/write/java8-support.

Вам нужно добавить что-то вроде

  android { 
compileOptions {
 targetCompatibility = "8" sourceCompatibility = "8"
 } 
}

в ваше приложение build.gradle.

...