【发布时间】:2019-10-14 19:46:39
【问题描述】:
我需要点击 fab 并调用自定义对话框。那么,如何从对话框(DialogFragment)中获取数据并在recyclerview中创建一个新项目,其中包含这些数据?
编辑:现在我有 NullPointerException。代码在这里:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
recyclerView = findViewById(R.id.recyclerView);
adapter = new UserAdapter(users, this);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setAdapter(adapter);
FloatingActionButton fab = findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
createDialog();
}
});
}
public void createDialog(){
View view = LayoutInflater.from(this).inflate(R.layout.dialog_user, null, false);
final EditText username = view.findViewById(R.id.username);
final EditText pass = view.findViewById(R.id.password);
final AlertDialog.Builder builder = new AlertDialog.Builder(this)
.setTitle("Title")
.setView(view)
.setPositiveButton("Add", null)
.setNegativeButton("Cancel", null)
.setCancelable(false);
final AlertDialog dialog = builder.create();
dialog.show();
dialog.getButton(DialogInterface.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//update RecyclerView
users.add(new User(username.toString(), pass.toString()));
dialog.dismiss();
}
});
}
【问题讨论】:
-
你写过代码吗?
-
我有一个简单的 recyclerview 和一个简单的对话框,似乎第二个会改变
-
您是否曾以您想要完成的工作的心态处理任何代码?你的对话框有用户填写的表格吗?
-
是的,它有一个 EditText 视图
-
你的回收器正在接收我假设的字符串数组列表?
标签: java android android-recyclerview dialog