牛刀-多次注射

埃戈尔·尼利巴(Egor Neliuba)

我有一个ActivityButterknife的目标,并且我想将其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() {
    // ...
}
埃戈尔·尼利巴(Egor Neliuba)

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

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

杰克·沃顿发表评论

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章