gpt4 book ai didi

java - 等待对话框关闭以将项目添加到回收器 View

转载 作者:行者123 更新时间:2023-12-02 01:15:33 25 4
gpt4 key购买 nike

我有一个 RecyclerView,它应该获取一个在 AlertDialog 中设置名称的新项目。问题是在下面的代码中,当对话框仍然打开时,该项目正在创建。在这种情况下我该如何等待输入呢?如果我必须 Hook onDismiss() ,我没有设置正确项目名称所需的 RecyclerView 信息。

    HouseConfig config = new HouseConfig(this);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Enter new Category name");
final EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_TEXT);
builder.setView(input);
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
m_text = input.getText().toString();
dialog.dismiss();
}
});
builder.create().show();
Log.v(TAG,"m_text: " + m_text);
config.addNewCategoryWithViewOrder(new Category(m_text, R.drawable.ic_books, -1));
RecyclerView rv = (RecyclerView) v.getParent().getParent().getParent();
rv.setAdapter(new CategoryRecycleListAdapter(config.getViewOrderSortedCategories(), this));
rv.scrollToPosition(config.getCategorySize() - 1);
rv.getAdapter().notifyItemRangeInserted(config.getCategorySize() - 2, 1);
rv.getAdapter().notifyDataSetChanged();

最佳答案

当您按下“确定”按钮时,将调用 Positive 按钮的 onClick() 方法。因此,您应该在此方法中添加新数据并通知适配器。

builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
m_text = input.getText().toString();
config.addNewCategoryWithViewOrder(new Category(m_text, R.drawable.ic_books, -1));
rv.getAdapter().notifyItemRangeInserted(config.getCategorySize() - 2, 1); // I would rather used notifyItemInserted()
rv.scrollToPosition(config.getCategorySize() - 1);
}
});

关于java - 等待对话框关闭以将项目添加到回收器 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58675190/

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