3

我有一个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() {
    // ...
}
4

1 回答 1

6

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

根本没有办法两次注入同一个对象。

杰克沃顿发表评论

于 2014-05-30T05:50:15.570 回答