ButterKnife onclick无法正常工作

我使用黄油刀库完美地注入了视图。但是,当我尝试实现侦听器时,例如,onclick我无法实现它们。以下Java代码将帮助您了解我的问题。

Java代码:

public class LoginActivity extends ActionBarActivity{

@InjectView(R.id.toolbar) Toolbar toolbar;

@InjectView(R.id.btn_login) Button login;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.login);

ButterKnife.inject(this);

initialize();

//initListeners();

@OnClick(R.id.btn_login)

public void submit(View view) {

// TODO submit data to server...

}

}

/*private void initListeners() {

@OnClick(R.id.btn_login)

public void login(){

}

}*/

private void initialize() {

setSupportActionBar(toolbar);

getSupportActionBar().setIcon(R.drawable.toolbar_icon);

getSupportActionBar().setTitle(null);

getSupportActionBar().setDisplayShowHomeEnabled(true);

}

}

告诉我为什么会这样。代码有什么问题吗?我已经通过使用以下URL配置了与ButterKnife兼容的IDE。

http://stackoverflow.com/questions/27754811/onclick-is-not-working-in-

implementation-of-butterknife-library

请给我有关此问题的任何建议。提前致谢..

回答:

MainActivity.java

import android.os.Bundle;

import android.support.v7.app.ActionBarActivity;

import android.view.View;

import android.widget.Button;

import android.widget.Toast;

import butterknife.ButterKnife;

import butterknife.InjectView;

import butterknife.OnClick;

public class MainActivity extends ActionBarActivity {

@InjectView(R.id.button)

Button login;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

ButterKnife.inject(this);

}

@OnClick(R.id.button)

void submitButton(View view) {

Toast.makeText(this, "Click", Toast.LENGTH_SHORT).show();

}

}

还有activity_main.xml部分

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

android:paddingBottom="@dimen/activity_vertical_margin"

tools:context=".MainActivity">

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="New Button"

android:id="@+id/button"

android:layout_alignParentTop="true"

android:layout_alignParentLeft="true"

android:layout_alignParentStart="true"

android:layout_marginLeft="59dp"

android:layout_marginStart="59dp"

android:layout_marginTop="132dp"

/>

</RelativeLayout>

在build.gradle文件中(app)

dependencies {

compile fileTree(dir: 'libs', include: ['*.jar'])

compile 'com.android.support:appcompat-v7:22.0.0'

compile 'com.jakewharton:butterknife:6.1.0'

}

以上是 ButterKnife onclick无法正常工作 的全部内容, 来源链接: utcz.com/qa/410759.html

回到顶部