gpt4 book ai didi

android - 如何从另一个 Activity 获取 TextView 而无需来自或去往该 Activity?

转载 作者:搜寻专家 更新时间:2023-11-01 08:58:37 26 4
gpt4 key购买 nike

我在 Activity A 中有一个 TextView,这是用户在应用程序上花费大部分时间的地方。我的应用程序使用共享首选项在 Activity C 中保存一个 TextView。当我加载 Activity A 和/或 B 时,如何从 Activity C 获取 TextView 而无需转到 Activity C。我知道我可以有意地从 Activity C 获取 TextView,但我认为只有当我来自 Activity C 而我不是时才有效。

Activity A 当前通过这种方式获取 TextView

Intent id = getIntent();
if (id.getCharSequenceExtra("idid") != null) {
final TextView setmsg = (TextView)findViewById(R.id.loginid2);
setmsg.setText(id.getCharSequenceExtra("idid"));

但这只有在另一个 Activity 使用 putExtra 将其获取到那里时才有效。

最佳答案

从问题中,我的理解是,

每当我加载 Activity A/B 时,它的 Text 将显示 Activity C 的值。不是吗?

当然我们可以使用SharedPreference。试试这个:

在 Activity C 中 ->

textview.addTextChangedListener(new TextWatcher() {

@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(ActivityC.this);
SharedPreferences.Editor editor = pref.edit();
editor.putString("idid", ""+s);
editor.commit();

}

@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub

}

@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub

}
});

现在,在 Activity A 中 onCreate ->

SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(ActivityA.this);
setmsg.setText(pref.getString("idid", "null"));

就是这样。

关于android - 如何从另一个 Activity 获取 TextView 而无需来自或去往该 Activity?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17006864/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com