2011-12-26 5 views
1

  1. GOAL 1に値を取得する:ボタンをクリックしてチェックを任意のラジオボタンがない場合、それはトーストすることにより、ユーザーに警告します。ラジオボタンがチェックされていれば、新しいアクティビティに移動します(またはあなたの上でsmtを実行します)。

まずはRADIOGROUPがチェックかチェックして、静的なint型

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); 
      } 
     } 
    }); 

高度に無意味な、しかし、私のようないくつかの初心者:)

答えて

2
  1. アンドロイドのdevのサイト上Form stuff tutorialを見てください。 OnClickListenerをすべてのRadioButtonに提供し、選択された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()メソッドを使用することもできます。

    他の回答の1に示すよう
  2. :その場合には

    // 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"); 
    
+0

ありがとう、パート2は本当に私を助けます。しかし、パート1、私の目標は:ユーザーがok2をクリックすると、ラジオボタンのチェックがある場合、私は彼が次のアクティビティに連れて行きます。そうでなければ、私はtoast.makeTextに彼に1つをチェックするよう警告します。 – NKidd

+0

私はそれを認識します。しかし、私が与えた情報に基づいて、その小さなロジックを実装する際には問題はありません。実際には、あなたはすでに99%を持っています。 'index1'を' 1'に初期化するだけです: 'index1 = -1;'あなたは良いことがあるはずです。 –

+0

うん。ありがとうございます :) – NKidd

0

と一緒に余分な置くためかもしれ役に立ちますインテント:

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 

}

+0

おかげで、これは本当に便利 – NKidd

+0

:あなたはあなたの第二のアクティビティを起動するために使用するテントに余分としてint型の値を渡します、plsは答え –

+0

として申し訳ありませんが、MHの答えは私の問題の2つを解決するので、私はそれを受け入れます。私は十分な評判のポイントを持っているあなたの答えに投票します!ありがとうございました! – NKidd

1

クラスのレベルにすべてのRadioButtonRadioGroupしてください。 はonClick()の内側になりましonCreate()

の内側にそれらを初期化するにチェックRadioButtonのIDを取得し、このように比較します。

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

うわー、これは後で多くの場合私を助けます。ありがとうございました! – NKidd

関連する問題