2012-04-01 50 views
1

工作,这是我的XML,只有我的单选按钮1/2在安卓

  <RadioGroup 
      android:id="@+id/radioType" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center_horizontal" 
      android:orientation="horizontal" 
      > 

      <RadioButton 
       android:id="@+id/RadioAuction" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="55dp" 
       android:textColor="#3DCC00" 
       android:onClick="showAuctionOptions" 
       android:text="@string/RadioButton1" /> 

      <RadioButton 
       android:id="@+id/RadioBin" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="20dp" 
       android:onClick="showAuctionOptions" 
       android:textColor="#FF0000" 
       android:text="Buy it now" /> 

     </RadioGroup> 

,这是我showAuctionOptions功能,

public void showAuctionOptions(View v){ 

    switch(v.getId()){ 

    //execute this case if auction button is checked 
     case R.id.RadioAuction: 
      //Display start price 
      LinearLayout ShowPrice = (LinearLayout)findViewById(R.id.LayoutStartPrice); 
      ShowPrice.setVisibility(View.VISIBLE); 

      //Display reserve price 
      LinearLayout ShowReservePrice = (LinearLayout)findViewById(R.id.LayoutReservePrice); 
      ShowReservePrice.setVisibility(View.VISIBLE); 

      //Hide quantity 
      LinearLayout HideQuantity = (LinearLayout)findViewById(R.id.LayoutQuantity); 
      HideQuantity.setVisibility(View.GONE); 
     break; 

     //execute this case if buy it now button is checked 
     case R.id.RadioBin: 
      //Hide start price 
      LinearLayout HidePrice = (LinearLayout)findViewById(R.id.LayoutStartPrice); 
      HidePrice.setVisibility(View.GONE); 

      //Hide reserve price 
      LinearLayout HideReservePrice = (LinearLayout)findViewById(R.id.LayoutReservePrice); 
      HideReservePrice.setVisibility(View.GONE); 

      //Display quantity 
      LinearLayout DisplayQuantity = (LinearLayout)findViewById(R.id.LayoutQuantity); 
      DisplayQuantity.setVisibility(View.VISIBLE); 
     break; 

    } 


} 

我的问题是,它仅显示当拍卖单选按钮被按下时的选项。现在购买时没有任何反应。谁能帮忙?谢谢 !

+0

最新的XML的布局? – waqaslam 2012-04-01 22:19:37

+0

是的,它的布局 – rusty009 2012-04-01 22:41:09

+0

通过查看您的发布代码和xml,几乎不可能知道什么可能是错误的...您需要粘贴您的活动的所有代码和xml – waqaslam 2012-04-02 09:08:13

回答

1

请勿对RadioButtons使用'onClick'侦听器。请尝试使用RadioGroup.OnCheckedChangeListener代替。不过,我认为您不能像您使用那样将其分配到XML布局文件中。

有你Activity实现界面如下...

public class MyActivity extends Activity 
    implements RadioGroup.OnCheckedChangeListener { 
    ... 

    @Override 
    public void onCheckedChanged(RadioGroup group, int checkedId) { 
     ... 
    } 
} 

然后,您需要找到RadioGroup并设置监听器...

RadioGroup radioGroup = (RadioGroup) findViewById(R.id.radioType); 
radioGroup.setOnCheckedChangeListener (this); 
0

您是否为RadioBin设置了onclick监听器?

RadioButton radioBin = (RadioButton) findViewById(R.id.RadioBin); 
radioBin.setOnClickListener(...); 

就像您为RadioAuction所做的一样?在我看来,没有RadioBin的收听者。

+0

我没有监听器RadioAuction虽然 – rusty009 2012-04-01 22:52:16