gpt4 book ai didi

android - 如何通过 Activity 将多个值保存到单个变量。

转载 作者:太空狗 更新时间:2023-10-29 14:21:39 26 4
gpt4 key购买 nike

我正在创建一个应用程序,我在其中扫描多个条形码并不断提取它们的值并将它们聚集在一个地方。听起来很简单,但我一直无法创建一个数组来存储新值,也无法创建一个字符串来连接它们。

如果有人需要更多代码或解释,请发表评论,我知道这个问题可能不是很丰富。

编辑:

 public class example 
{

String val;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
try
{

String list_id=ToolList3.ID;
String list_qty=ToolScanDet3.qty;

// val is returned from the barcode scanning app.

val=val+issue_id+"~"+issue_qty+";";
Log.d("Tools issued till yet...", val);

/* Club all the tool IDs together and fire a single query to issue
them all against one name. */

Intent i=new Intent(Issue.this,Issue1.class);
startActivity(i);

//Issue1 again returns a pair of id and qty which needs to be saved along with the previous set of values.
}

我基本上无法尝试将返回的值集与以前的值一起保存,返回的新值会清除以前的值。我也试过将它们放在一个数组中,但这需要一个计数器,这再次违背了目的,因为计数器将被初始化为零并重新开始。

最佳答案

除非元素个数已知且恒定,否则最好使用ArrayList而不是数组。如果你想在 Activity 由于方向改变而被破坏时保留数据,你可以将它们保存在 onSavedInstanceState 中:

@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("temp", tempString);
}

然后在 onCreate 中取回它:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

if(savedInstanceState != null) {
your_arraylist = savedInstanceState.getString("temp");
}

编辑:根据您的需要,Scan Activity 不应初始化任何字符串。它应该获取由 main 传递给它的字符串值:

    public class ScanActivity extends Activity {

String tempString;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(savedInstanceState == null) {
tempString = getIntent().getStringExtra("temp");
} else {
// orientation change
tempString = saveInstanceState.getString("temp");
}
}

完成扫描后,执行

Intent output = new Intent();
output.putExtra("temp", tempString);
setResult(RESULT_OK, output);
finish();

将字符串发送回您的主要 Activity 。

关于android - 如何通过 Activity 将多个值保存到单个变量。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16353156/

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