Android 如何在 ButterKnife 中初始化多个视图

How to initialize many Views in ButterKnife in Android

我想在我的项目中使用 ButterKnife。我使用了很多 EditText 并且为了初始化这个 editTexts 我使用了这个代码:

@BindView(R.id.registerCountryEdtTxt)
EditText countryEdt;

@BindView(R.id.registerDateBirthEdtTxt)
EditText birthDayEdt;

@BindView(R.id.registerGenderEdtTxt)
EditText genderEdt;

@BindView(R.id.registerFullnameEdtTxt)
EditText fullnameEdt;

@BindView(R.id.registerEmailEdtTxt)
EditText emailEdt;

@BindView(R.id.registerUsernameEdtTxt)
EditText usernameEdt;

@BindView(R.id.registerPasswordEdtTxt)
EditText passwordEdt;

@BindView(R.id.registerFacebookEdtTxt)
EditText facebookEdt;

对于onClick 我想使用一键多视图方法,如何使用一个@BindView 多视图?

@OnClick({R.id.registerDateBirthInptLay, R.id.registerDateBirthEdtTxt})
void selectBirthDay() {

您可以将多个 Views 组合成一个 Listarray

@BindViews({ R.id.first_name, R.id.middle_name, R.id.last_name })
List<EditText> nameViews;

要访问这些 Views,只需访问位置:

nameViews.get(0).setText("Text");

嗯,你可以试试这个:

在您的 activity.

上实施 OnClickListener
public class YourActivity extends Activity implements OnClickListener{

//your edittexts

protected void onCreate(@Nullable Bundle savedInstanceState) {
edittext1.setOnClickListener(this);
edittext2.setOnClickListener(this);
edittext3.setOnClickListener(this);
...
}

@Override
public void onClick(View view) {
        //your code
}

}