From 318bd727e2fe02e4f541dfe943f77606af41d509 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期四, 06 二月 2025 14:30:11 +0800 Subject: [PATCH] # --- app/src/main/java/com/example/agvcontroller/EditeActivity.java | 83 ++++++++++++++++++++++++++++++++++++++++- 1 files changed, 80 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 01ae776..ec0186f 100644 --- a/app/src/main/java/com/example/agvcontroller/EditeActivity.java +++ b/app/src/main/java/com/example/agvcontroller/EditeActivity.java @@ -1,17 +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.core.graphics.Insets; -import androidx.core.view.ViewCompat; -import androidx.core.view.WindowInsetsCompat; +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<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); + + // Load items from SharedPreferences + items = loadItemsFromSharedPreferences(); + + + 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