gpt4 book ai didi

java - 多种 Activity 中的 ButterKnife

转载 作者:行者123 更新时间:2023-12-02 10:10:13 27 4
gpt4 key购买 nike

这是我尝试与 ButterKnife 一起使用的代码,但在运行项目时出现以下错误。

错误:找不到符号类 Activity
错误:包 Activity 不存在
错误:包 Activity 不存在

基本 Activity

public abstract class BaseActivity extends AppCompatActivity {

private Unbinder unbinder;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getLayoutResource());
ButterKnife.bind(this);

setupUI();
}


protected abstract int getLayoutResource();

protected abstract void setupUI();
}

主要 Activity

public class MainActivity extends BaseActivity {

@Override
protected void setupUI() {

}

@Override
protected int getLayoutResource() {
return R.layout.activity_main;
}
}

注册 Activity

public class RegisterActivity extends BaseActivity {

@BindView(R.id.editText_username)
EditText et;

@Override
protected void setupUI() {


Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

getSupportActionBar().setDisplayHomeAsUpEnabled(true);


}

@Override
protected int getLayoutResource() {
return R.layout.activity_register;
}

@Override
public void onBackPressed() {
this.finish();
}
}

我的错误是什么,为什么我无法将多个 Activity 与抽象类绑定(bind)?

Github Project

最佳答案

首先,您不需要Unbinder Activity because Unbinder is only needed for fragment `。

第二,最好使用另一种方法来覆盖,这样就不需要设置 onCreate 。像这样的事情:

public abstract class BaseActivity extends AppCompatActivity {

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getLayoutResource());
ButterKnife.bind(this);

setupUI();
}

protected abstract int getLayoutResource();

protected abstract void setupUI();
}

然后你可以使用:

public class MainActivity extends BaseActivity {

@Override
protected void setupUI() {
// setup the UI.
}

@Override
protected int getLayoutResource() {
return R.layout.activity_main;
}
}

这是使用 ButterKnife 与抽象类的工作示例:

https://github.com/isnotmenow/ButterKnifeAbstractSample

关于java - 多种 Activity 中的 ButterKnife,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55054106/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com