Android - 在两个活动中使用相同的按钮

时间:2014-07-21 02:18:43

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

我有以下活动:

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;
    }
}

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

1 个答案:

答案 0 :(得分:0)

有两种方法可以实现上述功能。

一个是,使用&#34; Intents&#34;。您可以使用意图将数据从一个活动发送到另一个活动。

示例,intent.putExtra(&#34;数据&#34;,&#34;数据&#34;);

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

示例,Global.variable = value; // Global是一个具有静态变量的类