gpt4 book ai didi

android - 如果数据是通过 Intent 从另一个 Activity 获取的,如何使用文本观察器添加多个 TextView

转载 作者:行者123 更新时间:2023-11-30 04:54:13 27 4
gpt4 key购买 nike

我正在开发一个预算应用程序,我在不同的 Activity 中有多个 TextView 和编辑文本。我添加了多个 edittexts 并通过 textwatchers 获取结果,并且它与 sharedpreferences 一起工作正常。

然后我使用 intents 传输每个 Activity 的结果,现在我想将所有结果添加到我的主要 Activity 中,但不幸的是我已经尝试了多次不同的代码但没有成功。我还尝试创建一个方法 addNumbers(){},但每当我将 TextView 放在该方法上时, Activity 就会停止显示 Intent 。

我想在其中添加所有 TextView 的 MainActivity:

public class MainActivity extends Activity implements BottomNavigationView.OnNavigationItemSelectedListener {
private SharedPreferences.Editor editor;
TextView total, catering, OM;
Button btn;
private long backPressedTime = 0;
String OMtotal, mytext, total;

private Object TextWatcher;
SharedPreferences sharedPreferences;

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

btn = (Button) findViewById(R.id.btn);
catering = (TextView) findViewById(R.id.catering);
mytext = (getIntent().getStringExtra("mytext"));
catering.setText(mytext);

OM = (TextView) findViewById(R.id.omc);
OMtotal = (getIntent().getStringExtra("OMtotal"));
OM.setText(OMtotal);

total = (TextView) findViewById(R.id.total);
total.setText(total);


CurvedBottomNavigationView mView = findViewById(R.id.customBottomBar);
mView.inflateMenu(R.menu.bottom_menu);
mView.setSelectedItemId(R.id.budget);
//getting bottom navigation view and attaching the listener
mView.setOnNavigationItemSelectedListener(MainActivity.this);

}

@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.budget:
Intent intent = new Intent(MainActivity.this, Catering.class);
startActivity(intent);
break;
case R.id.food:
Intent intent1 = new Intent(MainActivity.this, OtherMis.class);
startActivity(intent1);
break;
case R.id.EEC:
Intent intent2 = new Intent(MainActivity.this, reset.class);
startActivity(intent2);
break;
case R.id.Venue:
break;


}
return true;
}

public void addNumbers() {

mytext = (getIntent().getStringExtra("mytext"));
catering.setText(mytext);

OMtotal = (getIntent().getStringExtra("OMtotal"));
OM.setText(OMtotal);
return;
}

最佳答案

共享首选项以键值对的形式存储日期。因此,您将其他 Activity 中的所有值存储到不同的键中,并在主 Activity 中获取它们。仅当您开始一项 Activity 并发送一些数据时, Intent 才会起作用。在这种情况下, Intent 可能对您没有帮助。

此外,如果您使用 Intent ,则必须在您导航到的每个 Activity 的 onBackPressed 中处理这些 Intent ,这将是乏味的。要了解有关将数据存储在共享首选项中并在另一个 Activity 中检索它们的更多信息,check this out .

如果您对共享偏好有更多疑问,请分享您将数据添加到共享偏好的代码,之后我可能才能为您提供帮助。

关于android - 如果数据是通过 Intent 从另一个 Activity 获取的,如何使用文本观察器添加多个 TextView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59507877/

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