github的immersionbar弹出的Dialog 如何获取EditText
https://github.com/gyf-dev/ImmersionBar
他的例子是在dialog.ximl中EditText我加了个 ID:et_inputMessage
我在其中又加了两个ImageButton:ib_setleft 和 ib_setright
想相应点击和获取EditText
我的试验一:在 DialogActivity
@OnClick({R.id.btn_bottom,R.id.ib_setleft ,R.id.ib_setright})但是程序会崩溃!!
我的试验二:
我又在 BaseActivity中试着写 :
protected void initView() {
g_ib_setleft = findViewById(R.id.ib_setleft);
g_ib_setright =findViewById(R.id.ib_setright);
}
protected void setListener() {
g_ib_setleft.setOnClickListener(v -> {
Log.i(Config.myTag, "onClick: ib_setleft");
});
}
点击也没反应
然后 dialog.xml 好像没有后台java代码啊?
@OnClick({R.id.btn_bottom})中
View dialogView = LayoutInflater.from(this).inflate(R.layout.lkf_dialog, null);
Toolbar toolbar = dialogView.findViewById(R.id.toolbar);
ImageView iv = dialogView.findViewById(R.id.mIv);
ImageButton l_ibsetleft = dialogView.findViewById(R.id.ib_setleft);
l_ibsetleft.setOnClickListener(v -> {
Log.i(Config.myTag, "onClick: ib_setleftib_setleftib_setleftib_setleftib_setleft");
});
EditText l_etinputMessage = dialogView.findViewById(R.id.et_inputMessage);
l_etinputMessage.addTextChangedListener(new TextWatcher(){
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) { }
@Override
public void afterTextChanged(Editable s) {
Log.i(Config.myTag, "afterTextChanged: " + s);
}
});