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 小时前
Android 图像合成:玩转 PorterDuff.Mode 的 18 种混合模式
android
_小马快跑_1 小时前
Android | 多种方式实现图片圆角矩形和圆形效果(续)
android
_小马快跑_1 小时前
MaterialShapeDrawable vs CardView:两种方式实现阴影效果对比
android
_小马快跑_2 小时前
玩转ShapeableImageView:实现灵活的自定义形状与边框效果
android
菜鸟xiaowang3 小时前
Android 使用ninja加速编译的方法
android
哎呦,帅小伙哦3 小时前
XML语法指南——从入门到精通
xml
_一条咸鱼_4 小时前
Android大厂面试秘籍: View 相关面试题深入分析
android·面试·android jetpack
_一条咸鱼_5 小时前
Android 大厂面试秘籍:Hilt 框架的测试支持模块(八)
android·面试·kotlin
匹马夕阳5 小时前
(十三)安卓开发中的输入框、复选框、单选框和开关等表单控件详解
android
yangshuo12817 小时前
WSA(Windows Subsystem for Android)安装LSPosed和应用教程
android·windows·模拟器·lsposed·windows安卓子系统