java - 当我这样做时,AppCompatDialogFragment 侦听器没有传递值
问题描述
'listener2.applyTexts2(infor);' 行 给我一个错误,我在 applyTexts2 上传递了一个空对象引用。我调试了这一行,'infor' 将所有值正常传递给它,但它仍然说它为空。我做错了什么?
(我从我的 MainActivity 中通过一个按钮调用它,插入信息的弹出窗口很好,一切看起来都很好,但是当我在数据中没有 null 时它说 null。我的 MainActivity 中有另一个侦听器,它工作正常.第一个会不会弄乱第二个?它们是完全独立的类)
public class StaffDialog extends AppCompatDialogFragment{
private StaffDialogListener listener2;
private EditText FirstName;
private EditText LastName;
private EditText Phone;
private EditText Linkedin;
private EditText Tran;
private String[] infor = new String[5];
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.layout_dialog2,null);
builder.setView(view)
.setTitle("Enter this person's information")
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setPositiveButton("Done", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
infor[0]=FirstName.getText().toString();
infor[1]=LastName.getText().toString();
infor[2]=Phone.getText().toString();
infor[3]=Linkedin.getText().toString();
infor[4]=Tran.getText().toString();
listener2.applyTexts2(infor);
}
});
FirstName = view.findViewById(R.id.name);
LastName = view.findViewById(R.id.lastname);
Phone = view.findViewById(R.id.phone);
Linkedin = view.findViewById(R.id.linkedin);
Tran = view.findViewById(R.id.tran);
return builder.create();
}
@Override
public void onAttach(Context context){
super.onAttach(context);
try{
listener2 = (StaffDialogListener) context;
}catch(Exception e){
e.printStackTrace();
}
}
public interface StaffDialogListener{
void applyTexts2(String[] info);
}
}```
解决方案
推荐阅读
- powerbi - 我可以根据多个条件显示第一次出现的值吗?
- c# - 尝试使用光线投射模拟沙子像素
- python - 我怎样才能让我的python程序在后台工作
- entity-framework - 如何更改索引填充因子并使用迁移脚本重建它?
- apache-kafka - Kafka 警告:sasl.jaas.config 应以 SASL 机制名称为前缀
- reactjs - 在 React Router 中使用 NavLinks 时,如何在单击时关闭 Bootstrap 菜单?
- python - MongoDB EmbeddedField 中的 Django Foreignkey
- css - 如何自定义我的
- 所以它不会影响我页面上的其他项目符号?
- c++ - 为什么我们可以在 if 中使用分号,但在 while 循环中却没有
- python - 如何为 PyInstaller 可执行文件指定 Python 版本和库版本