From 8e6d7c8275117ca2659e7f82051f8af19741aa9d Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期五, 07 二月 2025 16:51:33 +0800 Subject: [PATCH] # --- app/src/main/java/com/example/agvcontroller/EditeActivity.java | 65 +++++++++++++++++++++++++++++++- 1 files changed, 62 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/example/agvcontroller/EditeActivity.java b/app/src/main/java/com/example/agvcontroller/EditeActivity.java index d4ee322..ec0186f 100644 --- a/app/src/main/java/com/example/agvcontroller/EditeActivity.java +++ b/app/src/main/java/com/example/agvcontroller/EditeActivity.java @@ -1,35 +1,94 @@ package com.example.agvcontroller; +import android.annotation.SuppressLint; +import android.content.SharedPreferences; import android.os.Bundle; import android.util.Log; +import android.view.View; +import android.widget.Button; import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.AppCompatImageButton; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import com.google.gson.Gson; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; import java.util.ArrayList; import java.util.List; public class EditeActivity extends AppCompatActivity { private RecyclerView recyclerView; - private List<Item> items; + private List<AGVCar> items; private EditeAdapter adapter; + private SharedPreferences sharedPreferences; + private AppCompatImageButton addItem; + private Button confirm; + @SuppressLint("WrongViewCast") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_edite); + addItem = findViewById(R.id.add_button); + confirm = findViewById(R.id.confirm_button); + sharedPreferences = getSharedPreferences("AGVControllerPrefs", MODE_PRIVATE); - items = new ArrayList<>(); + // Load items from SharedPreferences + items = loadItemsFromSharedPreferences(); - items.add(new Item("Item 1", "Description 1", 10, "1", 0)); recyclerView = findViewById(R.id.edite_recyclerView); recyclerView.setLayoutManager(new LinearLayoutManager(this)); + + Log.d("EditeActivity", "onCreate: " + items.size()); adapter = new EditeAdapter(items); recyclerView.setAdapter(adapter); + addItem.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + items.add(new AGVCar("", "", 0, "", 0)); + adapter.notifyDataSetChanged(); + Log.d("items", items.toString()); + } + }); + confirm.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + saveItemsToSharedPreferences(); + } + }); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + // Save items to SharedPreferences + saveItemsToSharedPreferences(); + } + + private void saveItemsToSharedPreferences() { + SharedPreferences.Editor editor = sharedPreferences.edit(); + Gson gson = new Gson(); + String json = gson.toJson(items); + editor.putString("items", json); + Log.d("save",json); + editor.apply(); + } + + private List<AGVCar> loadItemsFromSharedPreferences() { + Gson gson = new Gson(); + String json = sharedPreferences.getString("items", null); + if (json != null) { + Type type = new TypeToken<List<AGVCar>>(){}.getType(); + return gson.fromJson(json, type); + } + return new ArrayList<>(); } } \ No newline at end of file -- Gitblit v1.9.1