首页 > 解决方案 > 从 Alertdialog EditText 保存文本并显示到 Recyclerview 并永久保存

问题描述

当用户将文本放入编辑文本并单击“确定”并显示到回收站视图时,我想保存文本。永远,不只是一次。

  AlertDialog.Builder builder1 = new AlertDialog.Builder(getContext());
                builder1.setTitle("story name");
                final EditText editText = new EditText(getContext());
                editText.setHint("Name your story");
                final LinearLayout linearLayout1 = new LinearLayout(getContext());
                linearLayout1.setPadding(10, 10, 10, 10);
                linearLayout1.setOrientation(LinearLayout.VERTICAL);
                builder1.setView(linearLayout1);
                builder1.setView(editText);

                builder1.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                        String text = editText.getText().toString().trim();
                        if (TextUtils.isEmpty(text)){
                            Toast.makeText(getContext(), "Please write story name...", Toast.LENGTH_SHORT).show();
                        }
                        else {
                            // save text
                        }


                    }
                });

                builder1.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                    }
                });

                builder1.create().show();
            }
        }
    });

和适配器

 @Override
public void onBindViewHolder(@NonNull StoryHolder holder, int position) {
    String story_name = story.get(position).getStory_name();
    String date = story.get(position).getDate();

    holder.storyText.setText(story_name);
    holder.storyDate.setText(date);

请教我如何做到这一点。祝你有美好的一天。

标签: javaandroidandroid-studio

解决方案


据我了解,您希望保存文本并在 RecyclerView 中显示所有文本。只做两件事

  1. 使用 SQLite 创建数据库和表,或者您可以使用 Room Library 并将文本值保存在数据库表中。
  2. 从同一个数据库表中获取所有值并创建一个适配器以在 RecyclerView 中显示这些值。

您可以通过以下链接了解Room Room with RecyclerView的基本示例


推荐阅读