调用finish()时不会破坏android活动

时间:2015-10-21 12:42:25

标签: android android-intent android-activity

我是Android开发的新手需要一些帮助来杀死一个活动

每当我从我的主要活动开始新的活动“survey_question”进行新的调查时,我的结束()并没有杀死此活动我的计数器是肯定而且不会归零

public class survey_question extends Activity {
int flag=0;
private static int yes=0,no=0;
TextView tv;
Button btnNext;
RadioGroup rg;
RadioButton rb1,rb2;
String [] question;

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

    tv= (TextView)findViewById(R.id.question_textview);

    rg= (RadioGroup)findViewById(R.id.yesno_RadioGroup);
    rb1= (RadioButton)findViewById(R.id.yes_RadioButton);
    rb2= (RadioButton)findViewById(R.id.no_RadioButton2);
    question=getResources().getStringArray(R.array.string_array_question);
    tv.setText(question[flag]);





}
public void nextbutton (View v){
    RadioButton uans= (RadioButton)findViewById(rg.getCheckedRadioButtonId());
    String ansText= uans.getText().toString();
    if (ansText.equalsIgnoreCase("YES")){
        yes++;

    }
    else{
        no++;
    }
    flag++;
    if (flag<question.length){
        tv.setText(question[flag]);

    }
    else{

        Intent resultIntent =new Intent(survey_question.this,main_survey.class);

        resultIntent.putExtra("yesans", yes);

        resultIntent.putExtra("noans", no);

        setResult(RESULT_OK, resultIntent);
        this.finish();


    }

2 个答案:

答案 0 :(得分:2)

这是因为您没有将值设置为零。

您已将yesno声明为static。他们将在进程的生命周期中保留其值,而不是活动的生命周期。

答案 1 :(得分:1)

您将此变量声明为静态字段:

private static int yes=0,no=0;

将它们更改为非静态。