Android 匿名侦听器类中的Butterknife绑定

Android 匿名侦听器类中的Butterknife绑定,android,butterknife,Android,Butterknife,我想在单击FloatingAction按钮时显示一个自定义对话框。由于它是一个自定义对话框,因此需要一个布局文件dialog_layout.xml在本例中,布局文件包含几个组件,我希望butterknife在显示对话框之前绑定这些组件并在onClick侦听器中对其进行解释 floatingActionButton.setOnClickListener(new View.OnClickListener() { @BindView(R.id.lblTextView) TextVie

我想在单击FloatingAction按钮时显示一个自定义对话框。由于它是一个自定义对话框,因此需要一个布局文件dialog_layout.xml在本例中,布局文件包含几个组件,我希望butterknife在显示对话框之前绑定这些组件并在onClick侦听器中对其进行解释

floatingActionButton.setOnClickListener(new View.OnClickListener() 
{
    @BindView(R.id.lblTextView)
    TextView lblTextView;

    @Override
    public void onClick(View v)
    {
        View view = LayoutInflater.from(getActivity()).inflate(R.layout.dialog_layout, null);
        ButterKnife.bind(getActivity(), view);

        //I need to do something with lblTextView here but it returns NullPointerException

        //create dialog
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        builder.setView(view)
        //...
        builder.create().show();
    }
}
我也尝试过:

巴特内夫,这是我的看法 ButterKnife.bindview,视图 巴特内夫·宾德维尤酒店
我错过了什么吗?我做错了吗?上面的片段在片段中。

如下图所示,我已经验证了自己。解决你的问题

步骤1:创建一个内部类

public class DialogView {
    @BindView(R.id.lblTextView)
    TextView lblTextView;

    public DialogView(View view) {
        ButterKnife.bind(this, view);
        //do whatever want with lblTextView
        //create dialog
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        builder.setView(view);
        builder.create().show();
    }
}
第二步:修改你的按钮,点击Listener调用,如下所示

floatingActionButton.setOnClickListener(new View.OnClickListener() {

     @Override
     public void onClick(View v) {
        View view = LayoutInflater.from(getActivity()).inflate(R.layout.dialog_layout, null);
        new DialogView(view);
     }
}

检查下面的文档@Newbie是否已回答,请查看该文档。查看更新的答案,问题立即得到解决。我已经验证了自己。仍然返回更新的答案,现在问题得到解决。我已经证实了我自己。