У меня есть два класса, один класс экономит вес, затем в другом классе / деятельности я хочу журнал, который добавляет вес вместе с датой и временем, затем создает новую строку и отображает следующий вес. Таким образом, пользователь может отслеживать свои ежедневные изменения веса.
Проблема в том, что я новичок в Java и явно застрял на глупой проблеме. Каждый раз, когда я пытаюсь добавить его, вместо этого просто перезаписывается. Мне, вероятно, нужно сохранить его, а затем добавить его? может быть? Я пробовал несколько разных вещей, и ничто не работает так хорошо.
Это третий день Явы. Извинения.
Попытка создания списка, который сохраняется с общими настройками. Либо сделал это неправильно, либо это не сработало. Также пытался просто набрать вес и добавить его, но все это перезаписывается.
Моя активность в журнале:
public class LogActivity extends AppCompatActivity {
TextView logger;
//TextView more;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_log);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
Button back = findViewById(R.id.btnBack);
logger = findViewById(R.id.txtLog);
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date();
SharedPreferences log = getSharedPreferences("MyPrefsFile", 0);
//Float value = log.getFloat("floatingLog",0);
Float value = log.getFloat("weight", 0);
//more.append(logger + "Weight: " + value.toString() + " at: " + dateFormat.format(date) + "\n");
logger.append("Weight: " + value.toString() + " at: " + dateFormat.format(date) + "\n");
// Adding back button
back.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v){
Intent i = new Intent(getApplicationContext(),MainActivity.class);
startActivity(i);
}
});
// SharedPreferences settings7 = getSharedPreferences("PREFS",0);
// String wordsString = settings7.getString("words","");
// String[] itemWords = wordsString.split(",");
// List<String> items = new ArrayList<String>();
// for (int i = 0; i < itemWords.length; i++){
// items.add(itemWords[i]);
// }
// for (int i = 0; i < items.size(); i++){
// Log.d("list", items.get(i));
// }
}
}
Это получение общих привилегий отсюда, в моей ProfileActivity:
save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
((TextView) findViewById(R.id.txtWeight)).setText(findViewById(R.id.txtNewWeight).toString());
floatingLog = weight.toString();
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
floatingWeight = Float.valueOf(newWeight.getText().toString());
editor.putString("floatingLog", floatingLog);
editor.putFloat("weight", floatingWeight);
editor.apply();
editor.commit();
weight.setText(String.valueOf(floatingWeight));