首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将来自两个不同活动的两个值相加,并在不同的活动中显示合计

将来自两个不同活动的两个值相加,并在不同的活动中显示合计
EN

Stack Overflow用户
提问于 2016-08-18 03:27:05
回答 2查看 54关注 0票数 0

我有3项活动: 1- ItemMenu,2-斯诺克,3-台球

当我按下ItemMenu活动中的按钮来计算斯诺克和台球活动的总数时,它只是给出了我上一次去过的活动的总数,我需要它给我两个活动加在一起的总数

台球活动的代码如下:

代码语言:javascript
复制
public class Billiards extends AppCompatActivity {

EditText ebgames;
Button   bsave;

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

    ebgames = (EditText)findViewById(R.id.ebgames);
    bsave   = ( Button )findViewById(R.id.  bsave);

}

public void bsave (View v)
{

    Double dbgames = Double.parseDouble(ebgames.getText().toString());
    Double calcbgames = (dbgames)*0.50;

    Double btotal = (calcbgames);


    Intent btoim = new Intent(getApplicationContext(),ItemMenu.class);

    btoim.putExtra("btot",btotal);

    startActivity(btoim);

}

以下是Snooker活动的代码:

代码语言:javascript
复制
public class Snooker extends AppCompatActivity {

EditText esgames;
Button   ssave;


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

    esgames = (EditText)findViewById(R.id.esgames);
    ssave   = ( Button )findViewById(R.id.  ssave);



}

public void ssave (View v)
{

    Double dsgames = Double.parseDouble(esgames.getText().toString());
    Double calcsgames = (dsgames)*1.00;

    Double stotal = (calcsgames);


    Intent stoim = new Intent(getApplicationContext(),ItemMenu.class);

    stoim.putExtra("stot",stotal);

    startActivity(stoim);

}

下面是ItemMenu活动的代码:

代码语言:javascript
复制
public class ItemMenu extends AppCompatActivity {

Button snooker;
Button billiards;
TextView total;

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


    snooker             =       (  Button  )   findViewById        (  R.id.              snooker  )         ;
    billiards           =       (  Button  )   findViewById        (  R.id.            billiards  )         ;


}


public void billiards (View v)
{

    Intent billiards = new Intent(getApplicationContext(),Billiards.class);

    startActivity(billiards);

}

public void snooker (View v)
{

    Intent snooker = new Intent(getApplicationContext(),Snooker.class);

    startActivity(snooker);

}

public void totcalc (View v)
{

    Intent gettot = getIntent();

    Double imfromb = gettot.getDoubleExtra("btot",0);
    Double imfroms = gettot.getDoubleExtra("stot",0);

    Double gtotal =  imfromb + imfroms;

    total.setText(String.valueOf(gtotal));

}
EN

回答 2

Stack Overflow用户

发布于 2016-08-18 03:40:41

在您当前的版本中,每次ItemMenu启动时,您都应该获得onCreate()中的最新分数。然后,您可以将其添加到列表中或保留运行总数。

或者,您可以使用startActivityForResult()启动SnookerBilliards。与我之前的建议类似,您可以在onActivityResult()中获得分数,然后保存分数列表,保存运行总数,或任何您想要的东西。

有关从活动返回结果的更多详细信息,请参见Getting a Result from an ActivityStarting Activities and Getting Results

票数 0
EN

Stack Overflow用户

发布于 2016-08-18 03:36:37

您可以将btotalstotal值保存在SharedPreferences中,并从ItemMenu Activity访问它。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39004762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档