【问题标题】:Android - Using same button over two activitiesAndroid - 在两个活动上使用相同的按钮
【发布时间】:2014-07-21 02:18:42
【问题描述】:

我有以下活动:

calc.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            String gpaString = gpa.getText().toString();
            if (gpaString.equals("")) {
                gpaString = "0";
            }
            double gpaDouble = Double.parseDouble(gpaString);

            String satString = sat.getText().toString();
            if (satString.equals("")) {
                satString = "0";
            }
            int satInt = Integer.parseInt(satString);

            String actString = act.getText().toString();
            if (actString.equals("")) {
                actString = "0";
            }
            int actInt = Integer.parseInt(actString);
            if (actInt / 36.0 < satInt / 2400.0) {
                scoreDouble = (0.6 * gpaDouble * 25)
                        + (0.4 * ((double) satInt / 2400.0) * 100.0);
            } else {
                scoreDouble = (0.6 * gpaDouble * 25)
                        + (0.4 * ((double) actInt / 36.0) * 100.0);
            }

            Intent myIntent = new Intent(MainActivity.this, CollegeList.class);
            MainActivity.this.startActivity(myIntent);



            }

        }
    );

在另一个活动中,我有以下代码:

if(act/36.0>sat/2400.0){
        this.score = 0.6*gpa*25.0+0.4*(act/36.0)*100.0;
    }else{
        this.score = 0.6*gpa*25.0+0.4*(sat/2400.0)*100.0;
    }
    scoreDistance = Math.abs(this.score-MainActivity.scoreDouble)/MainActivity.scoreDouble;
    if(uagri&&ListOfMajors.agricultural||uchem&&ListOfMajors.chem){
        scoreDistance--;
    }else{
        scoreDistance = Math.abs(this.score-MainActivity.scoreDouble)/MainActivity.scoreDouble;
    }
}

如何让第一个活动中的按钮也执行第二个活动中的操作?第二个活动中使用的变量来自该活动中的对象,因此我不能只是将该代码复制到第一个活动中。请注意,虽然两个活动之间的变量名称可能命名相似,但它们是不同的变量。

【问题讨论】:

  • 你可以尝试实现一个接口(@98​​7654321@)
  • 给个提示,觉得这个片段风景最好用,好好实践!
  • @André.C.S 对不起,我不太明白你在说什么
  • @RainbowJeremy,抱歉英语不好!但我相信在这种情况下使用Fragment 可能是最好的选择!

标签: java android button android-intent android-activity


【解决方案1】:

您可以通过两种方式实现上述功能。

一个是,通过使用“意图”。您可以使用意图将数据从一个活动发送到另一个活动。

例子,intent.putExtra("data", "data");

其次,通过创建具有静态变量的单独类。因此,您可以为这些静态变量设置值并访问这些值。

例如,Global.variable = value; //全局是一个有静态变量的类

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多