当前位置: 首页 > 知识库问答 >
问题:

保存添加到滚动查看android Studio的项目

庄宇
2023-03-14

我已经创建并能够标记已添加到滚动视图中的项目。我想找到一种方法来保存和存储创建的项目,以便当用户单击关闭页面时,它们仍然保留在那里。

我想通过使用share dprefs来做到这一点,但是我不确定如何以及在哪里添加代码是最好的地方。将感谢任何建议。

public class Editscreen extends AppCompatActivity {

    // https://codevedanam.blogspot.com/2021/04/dynamic-views-in-android.html

    Button add;
    AlertDialog dialog;
    LinearLayout layout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_editscreen);

        add = findViewById(R.id.button7);
        layout = findViewById(R.id.container);

        buildDialog();

        add.setOnClickListener(new View.OnClickListener() {
            @Override

            public void onClick(View v) {

                dialog.show();
            }
        });




    }

    private void buildDialog() {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        View view = getLayoutInflater().inflate(R.layout.dialog,null);

       EditText name =  view.findViewById(R.id.nameEdit);
       name.getText().clear();
       builder.setView(view);
       builder.setTitle("Enter Quiz name");
       builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
           @Override
           public void onClick(DialogInterface dialog, int which) {

                   addCard(name.getText().toString());

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

                   }
               });

        dialog = builder.create();

    }


    private void addCard(String name) {
     View view = getLayoutInflater().inflate(R.layout.cardlayout,null);
        TextView nameView = view.findViewById(R.id.name);
        Button delete = view.findViewById(R.id.deletequiz);
        nameView.setText(name);

        


        delete.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                layout.removeView(view);

            }
        });

        layout.addView(view);

    }

共有1个答案

乜璞瑜
2023-03-14

我相信你可以将这个文件添加到你的项目中,你可以调用这个静态函数来将数据保存到pref。这是一种简洁的方式。

public class PrefUtil {
    private static SharedPreferences getPrefs(Context context) {
        return context.getSharedPreferences(context.getPackageName() + "_preferences",Context.MODE_PRIVATE);
    }

    public static void setStringPref(Context context,String key,String deger){

        getPrefs(context).edit().putString(key,deger).apply();

    }

    public static String getStringPref(Context context,String key){

        return getPrefs(context).getString(key,"");

    }

    public static void setIntPref(Context context,String key,int deger){

        getPrefs(context).edit().putInt(key,deger).apply();

    }

    public static int getIntPref(Context context,String key){

        return getPrefs(context).getInt(key, -1);

    }
}
 类似资料:
  • 我正在创建一个简单的应用程序供个人使用,我被卡住了,因为我需要从我的滚动视图中添加/删除文本。在屏幕截图下面的蓝色方块是我的滚动视图和邮件按钮(占位符)需要打开一个弹出窗口,我可以把2个值在2个不同的框,一个字符串和一个双。 Main_Activity 我知道如何做几乎所有的事情,但我不知道如何添加一个文本,每次我点击邮件按钮,它应该像这样,当我点击它 这就是完成时应该做的。汽车模块的左按钮是“从

  • 你好,伙计们,我想使我的列表视图这样,一个项目滚动一次和平滑。这里是我尝试到目前为止,但没有运气:(请帮助和感谢提前 自定义ListView类 }

  • 我对Recyclerview项单击有问题。当在中向下滚动时,我将数据提取到方法,并通过recyclerview自定义适配器中的方法进行添加。我通过点击碎片上的界面获得物品位置。首先获取数据工作正常,但在获取loadmore时,无法使用方法将项目位置检索到新数据。

  • 所以,这就是我的问题。我的recyclerview项目在底部有一个视图,我最初将其设置为消失。现在,当它们被点击时,我想让它们再次可见。所以在onClick方法中,我将视图设置为Visible。一切正常,但是当我向下滚动和向上滚动时,视图又隐藏了。我想这和取景模式有关。我想保持现状,即开放。我该怎么做?谢了。 视图支架: 点击: 编辑:上传的代码。此外,我尝试在onClick中更新Item的布尔值

  • 我使用“OpenWeatherMap”API开发天气应用程序。我可以编写此API以加载图像命令,但无法将天气图标加载到ImageView为“ImageWeat”。

  • 问题内容: 我正在为Eclipse开发插件。在这个插件中,我需要能够在文本编辑器的上下文菜单中添加一个项目。到目前为止,我还没有成功,有谁知道如何添加此项。 另外,如何获取编辑器中当前所选文本的字符串。 非常感谢。 问题答案: 关于选择部分,问题“ 通过Eclipse通过插件comand替换从Eclipse编辑器中选择的代码 ”足够满足您的需求: 然后,您可以在弹出菜单中添加一个项目来链接此选择,