Android 从其他xml文件中获取View组件数据

问题

Android Studio 我想在 trace.java 从setting.java绑定的页面activity_setting.xml中 的editview中获取数据

解决方案

仅适用于 在同一应用的不同组件之间共享数据

在 SettingActivity.java 中,当用户准备离开当前活动时,可以将 EditText 中的数据保存到一个全局变量或者共享的存储位置。常见的方法是使用 SharedPreferences:

java 复制代码
public class SettingActivity extends AppCompatActivity {

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

    @Override
    public void onPause() {
        super.onPause();
        // 获取组件数据
        EditText editText = findViewById(R.id.editText);
        String input = editText.getText().toString();
		
        SharedPreferences sharedPref = getSharedPreferences("my_settings", Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPref.edit();
        editor.putString("user_input", input);  // 存放在共享位置
        editor.apply();
    }
}

在 TraceActivity.java 中,从 SharedPreferences 读取这个数据:

java 复制代码
public class TraceActivity extends AppCompatActivity {

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

        SharedPreferences sharedPref = getSharedPreferences("my_settings", Context.MODE_PRIVATE);
        String userInput = sharedPref.getString("user_input", "default_value");
        // 这个default_value我没搞懂怎么用(失效的)

        // 处理这个userInput
    }
}
相关推荐
vistaup13 分钟前
OKHTTP 默认构建包含 android 4.4 的TLS 1.2 以及设备时间不对兼容
android·okhttp
常利兵19 分钟前
ButterKnife在Android 35 + Gradle 8.+环境下的适配困境与现代化迁移指南
android
撩得Android一次心动19 分钟前
Android LiveData 全面解析:使用Java构建响应式UI【源码篇】
android·java·android jetpack·livedata
熊猫钓鱼>_>27 分钟前
移动端开发技术选型报告:三足鼎立时代的开发者指南(2026年2月)
android·人工智能·ios·app·鸿蒙·cpu·移动端
Rainman博11 小时前
WMS-窗口relayout&FinishDrawing
android
baidu_2474386113 小时前
Android ViewModel定时任务
android·开发语言·javascript
有位神秘人14 小时前
Android中Notification的使用详解
android·java·javascript
·云扬·14 小时前
MySQL Binlog落盘机制深度解析:性能与安全性的平衡艺术
android·mysql·adb
独自破碎E15 小时前
【BISHI9】田忌赛马
android·java·开发语言
程序员老刘·16 小时前
Android Studio Otter 3 发布:日常开发选AS还是Cursor?
flutter·android studio·ai编程·跨平台开发·客户端开发