Witam!
piszę mały quiz na androida (od czegoś trzeba zacząć :P) każde pytanie wyświetlane jest na osobnej aktywności ilość pytań zliczana jest intentem z aktywności do aktywności.
Ilość poprawnych odpowiedzi chcę zliczać w osobnej klasie i na końcu ją wyświetlić.i tu pojawia się problem..
prosta klasa zliczająca:
class PointsCounting {
var points = 0
get() = field
set(value){
field = value
}
fun sumPoints(){
points+=1
}
}
pytanie 1 z quizu:
class question1 : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.layout_question1)
}
var addPoint = PointsCounting()
fun OnClick(view: View) {
if(radioButton2q1_true.isChecked || radioButtonq1.isChecked || radioButton3q1.isChecked) {
var points = getIntent().getIntExtra("punkty", 0)
points++
if (findViewById<RadioButton>(RG_q1.checkedRadioButtonId).text == "Wisła") {
addPoint.sumPoints() // POwinno dodac punkt
}
val intent = Intent(this, question2::class.java)
intent.putExtra("punkty", points)
startActivity(intent)
}else
{
Toast.makeText(applicationContext, "Proszę zaznazyć odpowiedź!", Toast.LENGTH_LONG).show()
}
}
}
ostatni widok:
class lastView : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.layout_last_view)
var points = getIntent().getIntExtra("punkty", 0)
var abc = findViewById<TextView>(R.id.txtWynik)
var mid = "/"
var allPoints = PointsCounting().points.toString()
abc.text = allPoints + mid + points
}
fun OnClick(view: View) {
val intent = Intent(this, question1::class.java)
startActivity(intent)
}
}
allPoints w ostatnim widokuzawsze jest zero. w jaki sposób sprawić aby punkty sięzliczały w funkcji liczącej gdy jest ona wywołana w aktywności? a w ostatnim widoku ją poprostu wyświetlić ?