Я хочу поставить свой собственный счет за первое действие, и я использую метод флажка. Установив этот флажок, они получат свой собственный счет, равный единице. После выбора этого флажка и нажатия кнопки «Далее» выполняется переход к следующему действию, содержащему этот балл 1. Затем процесс в этом втором действии выполняется так же, как и в первом упражнении, но с той лишь разницей, что балл должен увеличиться на 1. Я покажу свою работу над первым делом ниже:
public class AfterNoYesQ1Activity extends AppCompatActivity {
Button buttonNext;
TextView textViewClickHere;
int score = 1;
CheckBox check1,check2,check3,check4,check5,check6,check7;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_after_no_yes_q1);
check1 = (CheckBox)findViewById(R.id.checkBox1);
check2 = (CheckBox)findViewById(R.id.checkBox2);
check3 = (CheckBox)findViewById(R.id.checkBox3);
check4 = (CheckBox)findViewById(R.id.checkBox4);
check5 = (CheckBox)findViewById(R.id.checkBox5);
check6 = (CheckBox)findViewById(R.id.checkBox6);
check7 = (CheckBox)findViewById(R.id.checkBox7);
buttonNext = (Button)findViewById(R.id.buttonNext);
buttonNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(AfterNoYesQ1Activity.this, DetectionQues2Activity.class);
startActivity(intent);
}
});
textViewClickHere = (TextView) findViewById(R.id.textViewClickHere);
textViewClickHere.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(AfterNoYesQ1Activity.this, DetectionQues2Activity.class);
startActivity(intent);
}
});
}
public void checkone (View view)
{
if (check1.isChecked() && check5.isChecked() && check6.isChecked())
{
getIntent().putExtra("score",score);
}
else if (check1.isChecked() && check5.isChecked() && check7.isChecked())
{
//fail
getIntent().putExtra("score",score);
}
else if (check1.isChecked() && check6.isChecked() && check7.isChecked())
{
//fail
getIntent().putExtra("score",score);
}
else if (check2.isChecked() && check5.isChecked() && check6.isChecked())
{
//fail
getIntent().putExtra("score",score);
}
else if (check2.isChecked() && check5.isChecked() && check7.isChecked())
{
//fail
getIntent().putExtra("score",score);
}
else if (check2.isChecked() && check6.isChecked() && check7.isChecked())
{
//fail
getIntent().putExtra("score",score);
}
else if (check3.isChecked() && check5.isChecked() && check6.isChecked())
{
//fail
getIntent().putExtra("score",score);
}
else if (check3.isChecked() && check5.isChecked() && check7.isChecked())
{
//fail
getIntent().putExtra("score",score);
}
else if (check3.isChecked() && check6.isChecked() && check7.isChecked())
{
//fail
getIntent().putExtra("score",score);
}
else if (check3.isChecked() && check5.isChecked() && check6.isChecked())
{
//fail
getIntent().putExtra("score",score);
}
else if (check3.isChecked() && check5.isChecked() && check7.isChecked())
{
//fail
getIntent().putExtra("score",score);
}
else if (check1.isChecked() && check5.isChecked() && check6.isChecked())
{
}
else if (check3.isChecked() && check6.isChecked() && check7.isChecked())
{
//fail
}
else if (check1.isChecked() && check2.isChecked() && check5.isChecked())
{
//pass
}
else if (check1.isChecked() && check2.isChecked() && check6.isChecked())
{
//pass
}
else if (check1.isChecked() && check2.isChecked() && check7.isChecked())
{
//pass
}
else if (check1.isChecked() && check2.isChecked() && check3.isChecked() && check5.isChecked())
{
//pass
}
else if (check1.isChecked() && check2.isChecked() && check3.isChecked() && check6.isChecked())
{
//pass
}
else if (check1.isChecked() && check2.isChecked() && check3.isChecked() && check7.isChecked())
{
//pass
}
else if (check1.isChecked() && check2.isChecked() && check3.isChecked()
&& check4.isChecked() && check5.isChecked())
{
//pass
}
else if (check1.isChecked() && check2.isChecked() && check3.isChecked()
&& check4.isChecked() && check6.isChecked())
{
//pass
}
else if (check1.isChecked() && check2.isChecked() && check3.isChecked()
&& check4.isChecked() && check7.isChecked())
{
//pass
}
score = score + 1;
}
}
Это вы знаете, что вы можете putExtra информацию о намерениях и getExtra из входящих намерений?
я буквально знаю о putExtra информации и переходите к следующему действию, используя кнопку. но я не могу понять, как поставить Extra для флажка, иначе я не могу использовать метод checkone?
Попытайтесь сделать так, чтобы ваш метод chackone() возвращал значение Логический, где вы решаете пройти и не пройти, и на основе значения из метода checkone() выполните putExtra(), где вы передаете свое намерение следующему действию.
Если я правильно понимаю, вы хотите передать текущий счет, измененный флажками, с AfterNoYesQ1Activity на DetectionQues2Activity?
В этом случае вместо использования getIntent (). PutExtra в checkone измените свой textViewClickHere.onClickListener на:
textViewClickHere.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(AfterNoYesQ1Activity.this, DetectionQues2Activity.class);
intent.putExtra("score", score);
startActivity(intent);
}
});
getIntent (). putExtra просто получает и изменяет намерение текущего действия (AfterNoYesQ1Activity) и не передается следующему действию.
Если я упустил суть, перефразируйте свой вопрос, так как его невероятно сложно расшифровать.
да, правильно .. но если я поставлю intent.putExtra ("score", score) в свой textViewClickHere.onClickListener, он также передаст этот счет на флажке? Потому что я не понимаю, как правильно передавать данные (оценку), потому что, если выбран флажок 1,2,3, они получат оценку 1, и эту оценку 1 я хочу перейти к следующему действию.
Согласно документация,
getIntent()Return the intent that started this activity.
Тогда я думаю, что у вас должен быть экземпляр оценки как атрибут вашей деятельности. Ваш метод checkone() может увеличить ваш счет, и когда вы нажмете на следующую кнопку, вы должны передать счет как дополнительный к намерению. Как показал @wabbawabbe
Где вы вызываете метод checkone ()?