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
    }
}
相关推荐
小孔龙1 小时前
VSync 与同步屏障:doFrame() 的优先调度
android·性能优化
kfzjw0081 小时前
Android 的一帧完整渲染流程:从 VSYNC 到 Screen 的全链路解密
android
wWYy.2 小时前
Mysql:覆盖索引
android·数据库·mysql
Kapaseker2 小时前
如果我要从 List 中获取一段元素
android·kotlin
三少爷的鞋2 小时前
一次朋友圈发布流程,理解 Kotlin 协程为什么重新定义异步代码组织方式
android
FungLeo3 小时前
Flutter/Android Release 包连不上网?AndroidManifest INTERNET 权限排查实录
android·flutter
wWYy.5 小时前
Mysql:一行数据是怎么存储的?
android·数据库·mysql
漏刻有时12 小时前
PHP GeoJSON转PNG地图渲染程序开发笔记、源码解读、问题复盘与整改方案
android·笔记·php
-SOLO-13 小时前
解决VMware 显示比例被重置的问题
android
alexhilton14 小时前
探究Android Views、Flutter和Compose如何渲染你的UI
android·kotlin·android jetpack