繁体   English   中英

如何在 Android Studio 中使用共享首选项保存我的 listView

[英]How can I save my listView with Shared Preferences in Android Studio

我的项目中有编辑文本、倒数计时器、列表视图、共享首选项。 我的应用程序可以运行。 我的倒数计时器完成我添加文本我的列表视图。 我用共享偏好保存它。 如果我在完成后打开新的倒数计时器它会将新文本添加到列表视图但它只保存最后一个文本如何将所有文本保存在 ListView 中。

 public class pomodoro extends AppCompatActivity {
        Button baslat,backhome,bitir;
            EditText edittextcalisma,edittextmola;
            CountDownTimer calisma,mola;
            ArrayList<String> list = new ArrayList<String>();
            ArrayAdapter arrayAdapter;
            ListView listView;
        
            @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_pomodoro);
                 LoadPreferences();
              
                listView=(ListView)findViewById(R.id.listv);
                arrayAdapter = new ArrayAdapter<String>(
                        this,R.layout.list_view,R.id.textitem, list);
                listView.setAdapter(arrayAdapter);
                bitir=findViewById(R.id.bitirbutton);
                baslat = findViewById(R.id.baslatbutton);
                edittextcalisma = findViewById(R.id.edittextcalisma);
                edittextmola = findViewById(R.id.edittextmola);
               
                baslat.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
        
                        closeKeyboard();
        
                        final int molapo = Integer.valueOf(edittextmola.getText().toString());
                        final int calismapo = Integer.valueOf(edittextcalisma.getText().toString());
        
                       
 CountDownTimer bekle = new CountDownTimer(5000, 1000) {
                                                @Override
                                                public void onTick(long millis) {
        
        
                                                }
                                                @Override
                                                public void onFinish() {
                                                    
                                                    Calendar c = Calendar.getInstance();
                                                    SimpleDateFormat dateformat = new SimpleDateFormat("dd-MMMM-yyyy HH:mm");
                                                    String datetime = dateformat.format(c.getTime());
        
        
        
                                                    list.add("Çalışma Süresi : " + calismapo +"  dk  "+"\n"+  "Mola Süresi : " + molapo+"  dk  " +"\n" + datetime);
                                                    arrayAdapter.notifyDataSetChanged();                                                                                                          SavePreferences("LISTS", task);
        
        
                                                }
                                            }.start();
                                        }
                                    }.start();
                                }
                            }.start();
                        }
                    }
                });
            }                                                                                                                                                                                                                  protected void SavePreferences(String key, String value) {
         
            SharedPreferences data = PreferenceManager.getDefaultSharedPreferences(this);
            SharedPreferences.Editor editor = data.edit();
            editor.putString(key, value);
            editor.commit();
    
    
        }
    
        protected void LoadPreferences(){
            SharedPreferences data = PreferenceManager.getDefaultSharedPreferences(this);
            String dataSet = data.getString("LISTS", "");
    
            list.add(dataSet);
            arrayAdapter.notifyDataSetChanged();
    
        }
        }

共享首选项允许您将少量原始数据作为键/值对存储在设备上的文件中。 如果要存储列表或大量数据,请使用带有 Room 的本地数据库。

了解有关房间持久性库的更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM