Butterknife - 多次注射

时间:2014-05-29 13:30:54

标签: android butterknife

我有一个Activity作为Butterknife的目标,我希望使用相同的Activity作为我在运行时充气的另一个View的目标。有办法吗?

这是我尝试过的,但它不起作用:

@InjectView(R.id.main)
TextView tv;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_settings);
    ButterKnife.inject(this);
    createDialog();
}

void createDialog() {
    View v = View.inflate(...);  // v has a view inside with id R.id.tv
    ButterKnife.inject(this, v);
    new Dialog(this).setView(v)....show();
}

@OnClick(R.id.tv)
void click() {
    // ...
}

1 个答案:

答案 0 :(得分:6)

  

你不能两次注入同一个对象。使用两种不同的   对象。一个可以是活动,但一个人需要成为其他活动。   它可以是任何东西,只是一个包含所有字段的简单对象   例如,对话框。

     

根本无法两次注入同一个对象。

杰克沃顿的

Issue comment