gpt4 book ai didi

java - 如何从自定义对话框中获取数据并在 recyclerview 中创建一个新项目?

转载 作者:行者123 更新时间:2023-11-30 05:00:14 26 4
gpt4 key购买 nike

我需要单击 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();
}
});
}

最佳答案

您可以使用简单的 AlertDialogRecyclerView 来实现这一点。谢谢

View view = LayoutInflater.from(this).inflate(R.layout.edit_layout, null, false);
final EditText editText = view.findViewById(R.id.editText);
AlertDialog.Builder builder = new AlertDialog.Builder(this)
.setTitle("Title")
.setView(view)
.setPositiveButton("Add", null)
.setNegativeButton("Cancel", null)
.setCancelable(false);

AlertDialog dialog = builder.create();
dialog.show();

dialog.getButton(DialogInterface.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//fdgdf
if(!TextUtils.isEmpty(editText.getText())) {
//update RecyclerView
dialog.dismis();
} else {
//Toast to show empty
}
}
});

R.layout.edit_layout 包含 ID 为 editTextEditText

关于java - 如何从自定义对话框中获取数据并在 recyclerview 中创建一个新项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58383180/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com