Проверьте, проверена ли RadioGroup или нет, и получите значение static int - PullRequest
1 голос
/ 26 декабря 2011

  1. ЦЕЛЬ 1: Если нажать кнопку, если не отмечена какая-либо радиопереключатель, он предупредит пользователя с помощью Toast;Если флажок отмечен, пользователь перейдет к новому действию (или запустит вас).

Первый

public class hanh1_2 extends Activity{

public static int ButID;
@Override

Во-вторых, установите действие кнопки:

final Button ok2 = (Button) findViewById(R.id.ok2);
    ok2.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // Set int of ButID = checkedradiobuttonID
                            //If ButID = -1 --> there isn't bt checked
            int ButID = tieng.getCheckedRadioButtonId();
            if (ButID == -1){
                Toast.makeText(hanh1_2.this, "Check a butt pls", Toast.LENGTH_SHORT).show();
            }
            else {
            Intent intent2 = new Intent(hanh1_2.this,hanh1_3.class);
            startActivity(intent2);
            }
        }
    });

Бессмысленно для продвинутых, но может быть полезно для некоторых новичков, таких как я:)

Ответы [ 3 ]

2 голосов
/ 26 декабря 2011
  1. Посмотрите учебник по Form на сайте разработчика Android. Вы можете предоставить OnClickListener для всех RadioButton и отслеживать выбранную (если есть).

    private OnClickListener radio_listener = new OnClickListener() {
        public void onClick(View v) {
            // Perform action on clicks
            RadioButton rb = (RadioButton) v;
            Toast.makeText(HelloFormStuff.this, rb.getText(), Toast.LENGTH_SHORT).show();
        }
    };
    

    Кроме того, вы можете потенциально использовать метод RadioGroup getCheckedRadioButtonId().

  2. Как показано в одном из других ответов: передайте значение int как дополнительное для намерения, которое вы используете для запуска второго занятия:

    // In first activity
    Intent i = new Intent(FirstActivity.this, SecondActivity.class);
    i.putInt("selected_index", selectedIndex);
    startActivity(i);
    
    // In second activity
    int selectedIndex = getIntent().getExtras().getInt("selected_index");
    
1 голос
/ 26 декабря 2011

Возьмите все свои RadioButton и RadioGroup на уровень класса.инициализируйте их внутри onCreate()

теперь внутри onClick() получите идентификатор проверенного RadioButton и сравните так:

public void onClick(View v) {    

        int checked =   tieng.getCheckedRadioButtonId(); // tieng is your RadioGroup

        switch(checked)
        {
        case R.id.tieng1:
        Toast.makeText(hanh1_2.this, "First is selected", Toast.LENGTH_SHORT).show();
        break;
        case R.id.tieng1:
        Toast.makeText(hanh1_2.this, "Second is selected", Toast.LENGTH_SHORT).show();
        break;
        case R.id.tieng1:
        Toast.makeText(hanh1_2.this, "Third is selected", Toast.LENGTH_SHORT).show();
        break;
        default:
        Toast.makeText(hanh1_2.this, "pleas check any button", Toast.LENGTH_SHORT).show();
        break;
        }

}
0 голосов
/ 26 декабря 2011

добавьте дополнительно вместе с намерением:

else {
        Intent intent2 = new Intent(hanh1_2.this,hanh1_3.class);
        intent2.putInt(Index1, index1);
        startActivity(intent2);
        }

теперь внутри второго действия onCreate () прочитайте это дополнительно:

{
int Index1 = getIntent().getExtras().getInt("Index1");

//do stuff here

}

...