簡體   English   中英

Android Java調用方法

[英]Android Java calling method

因此,我嘗試從overView調用所有方法,但不起作用,嘗試在括號中使用“ view”,然后在啟動應用程序時不斷崩潰。...有人可以幫忙,這是整個代碼。 我試過不包括前四種方法,但隨后卻無法實現預期的效果。

public class MainActivity extends AppCompatActivity {

int health = 0;

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


public void checkQuestionOne(View view) {
    boolean checked = ((RadioButton) view).isChecked();

    switch (view.getId()) {
        case R.id.question_one_yes:
            if(checked)
                health += 1;
            break;
        case R.id.question_one_no:
            if(checked)
                health -= 1;
            break;
    }

}

public void checkQuestionTwo(View view) {
    boolean checked = ((RadioButton) view).isChecked();

    switch (view.getId()) {
        case R.id.question_two_yes:
            if(checked)
                health += 1;
            break;
        case R.id.question_two_no:
            if(checked)
                health -= 1;
            break;
    }

}

public void checkQuestionThree(View view) {
    boolean checked = ((RadioButton) view).isChecked();

    switch (view.getId()) {
        case R.id.question_three_yes:
            if(checked)
                health += 1;
            break;
        case R.id.question_three_no:
            if(checked)
                health -= 1;
            break;
    }

}

public void checkQuestionFour(View view) {
    boolean checked = ((RadioButton) view).isChecked();

    switch (view.getId()) {
        case R.id.question_four_yes:
            if(checked)
                health += 1;
            break;
        case R.id.question_four_no:
            if(checked)
                health -= 1;
            break;
    }

}

public void checkQuestionFive() {
    EditText gettingQuestionFive = findViewById(R.id.sleep_hours);
    int answerQuestionFive = Integer.parseInt(gettingQuestionFive.getText().toString());

    if (answerQuestionFive > 7) {
        health += 1;
    } else if (answerQuestionFive == 7) {
        health += 1;
    } else {
        health -=1;
    }
}

private void displayMessage(String message) {
    TextView orderSummaryTextView = (TextView) findViewById(R.id.summary);
    orderSummaryTextView.setText(message);
}

public void overView(View view){
    checkQuestionOne();
    checkQuestionTwo();
    checkQuestionThree();
    checkQuestionFour();
    checkQuestionFive();
    String Message = health + " is your score. If is 3 or above, you have a healthy life";
    displayMessage(Message);

}
}

我認為您忘記了在活動的onCreate()方法中調用overView()方法。 您可以這樣稱呼它。

 @Override
protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main);
     //Pass your view in argument
     overView(View view)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM