2012-01-15 12 views
0

ここでもう一度、初心者のご質問にお礼を言います。 私はすべての作業をしていますが、私のクリックボタンでは、スピナーグループが配列を引っ張った無線IDまたは配列を適用して、正しいページに転送する必要があります。 私は主にbtn1に問題があります。& の後にif文を正しく構造化する方法いつものようなガイダンスは大変ありがとうございます。onItemSelectedとラジオをチェックするインテント*

解決策を見つけました! 投稿者:bottom !! 文字列

<string name="prov_picker">Select a Province</string> 
    <string-array name="prov_array"> 
     <item>-- Select Province --</item> 
     <item>British Columbia</item> 
     <item>Alberta</item> 
     <item>Saskatchewan</item> 
     <item>Manitoba</item> 
     <item>Ontario</item> 
     <item>Quebec</item> 
     <item>New Brunswick</item> 
     <item>Nova Scotia</item> 
     <item>Newfoundland</item> 
    </string-array> 
    <string-array name="prov1_array"> 
     <item>-- Select Province --</item> 
     <item>British Columbia</item> 
     <item>Alberta</item> 
     <item>Saskatchewan</item> 
     <item>Manitoba</item> 
     <item>Ontario</item> 
     <item>Quebec</item> 
     <item>New Brunswick</item> 
     <item>Nova Scotia</item> 
     <item>Newfoundland</item> 
    </string-array> 
<string name="radio1">Provincial</string>  
<string name="radio2">Federal</string> 

Java 
mport android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.widget.AdapterView; 
import android.widget.ArrayAdapter; 
import android.widget.Button; 
import android.widget.RadioGroup; 
import android.widget.SpinnerAdapter; 
import android.widget.Toast; 
import android.widget.RadioGroup.OnCheckedChangeListener; 
import android.widget.Spinner; 
import android.view.View; 

public class CanProvselect extends Activity implements OnCheckedChangeListener { 
    /** Called when the activity is first created. */ 
    private RadioGroup RadioProvs; 
    private Button btn1; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.canprovselect); 

     btn1 = (Button)findViewById(R.id.button1); 
     RadioProvs = (RadioGroup) findViewById(R.id.rgProvs); 
     RadioProvs.setOnCheckedChangeListener(this); 
    } 
    public void onCheckedChanged(RadioGroup group, int checkedId) { 
     ArrayAdapter<CharSequence> adapter = null; 
     final Spinner spinner = (Spinner) findViewById(R.id.spinner); 

     switch (checkedId) { 
     case R.id.radio_1 : 
      adapter = ArrayAdapter.createFromResource(
        this, R.array.prov_array, android.R.layout.simple_spinner_item);  
      adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);  
      spinner.setAdapter(adapter); 
      //spinner.setOnItemSelectedListener(new OnItemSelected(
      //  )); 
      break; 
     case R.id.radio_2 : 
      adapter = ArrayAdapter.createFromResource(
        this, R.array.prov1_array, android.R.layout.simple_spinner_item);  
      adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);  
      spinner.setAdapter(adapter); 
      //spinner.setOnItemSelectedListener(new OnItemSelected(
      //  )); 
      break; 

     } 

     btn1.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Spinner sp = (Spinner)findViewById(R.id.spinner); 
       String spinnerString = null; 
       spinnerString = sp.getSelectedItem().toString(); 

       if (spinnerString.equalsIgnoreCase("British Columbia") && R.id.equals("radio_1")){ 
        Intent myIntent = new Intent (v.getContext(), ProvBC.class); 
        startActivityForResult(myIntent, 0); 
       } else 
        if (spinnerString.equalsIgnoreCase("British Columbia") && R.id.equals("radio_2")){ 
         Intent myIntent = new Intent (v.getContext(), FederalProvBC.class); 
         startActivityForResult(myIntent, 0); 
        } 

      } 
     }); 

    } 
} 

ソリューション

btn1.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      Spinner sp = (Spinner)findViewById(R.id.spinner); 
      String spinnerString = null; 
      spinnerString = sp.getSelectedItem().toString(); 

      if (spinnerString.equalsIgnoreCase("British Columbia") && (checkedId == R.id.radio_1)){ 
       Intent myIntent = new Intent (v.getContext(), ProvBC.class); 
       startActivityForResult(myIntent, 0); 
      } else 
       if (spinnerString.equalsIgnoreCase("British Columbia") && (checkedId == R.id.radio_2)){ 
        Intent myIntent = new Intent (v.getContext(), FederalProvBC.class); 
        startActivityForResult(myIntent, 0); 
       } 

     } 
    }); 

答えて

0

こんにちは、私はactuall私の問題への解決策を見つけたすべての...私は誰もがそれを必要とするかもしれない場合の答えを投稿だろうと思いました。 ラジオボタンは異なる配列を選択し、送信ボタンはページにリダイレクトされます

関連する問題