Android:@BindView的用法

详情看这篇文章
:https://blog.csdn.net/qq_41063141/article/details/82828047

buider.gradle(app中的dependencies加入):

implementation 'com.jakewharton:butterknife:10.1.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0'

同时注意加1.8

compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
}

xxxxxactivity.java

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);//这段代码一定要加上不然会导致程序启动失败内存溢出,程序崩溃
       ......
 }

使用

@BindView(R.id.text_person_name)
TextView textPersonName;
textPersonName.setText("xxxx");

如果说我想要一个点击事件呢
可以这么写(匿名内部监听也是可以的,这个写着好看点,结构也清晰)

    //监听事件
    @OnClick({R.id.btn_setting,R.id.ll_flat})//多个控件可以一起发在里面进行监听
    public void sayHi(View view) {
        switch (view.getId()) {
            case R.id.btn_setting:
                Intent intent_setting =  new Intent(InitActivity.this,AppSettingActivity.class);
                startActivity(intent_setting);
                break;
            case R.id.ll_flat:
                Intent intent_flat =  new Intent(InitActivity.this,MainActivity.class);
                startActivity(intent_flat);
                break;
            default:
                break;
        }
    }

你可能感兴趣的:(android,java,android,java,apache)