2012-04-01 68 views
0

试图让采用的是Android检查单选按钮的ID,这是我的XML代码,获取点击的单选按钮的ID在Android的

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

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

所以一旦被点击运行showAuctionOptions,这是我的java代码,

 public void showAuctionOptions(View v){ 


    if(findViewById(R.id.v=="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); 
    } 
} 

但是,这不起作用,有谁知道为什么?谢谢。

+0

难道它甚至编译? – 2012-04-01 21:06:26

回答

0

尝试

if (v == findViewById(R.id.RadioAuction)){ 
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); 
} 

如果不剪,要么,确保你已经设置的点击听众对于那些单选按钮。

+0

令人惊叹的,谢谢! – rusty009 2012-04-01 21:01:31

+0

没问题;如果它解决了您的问题,请务必将答案标记为正确。 – 2012-04-01 21:02:21

0

可能更快,将是:

if (v.getId() == R.id.RadioAuction){ 
    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); 
} 

而且这样你可以在switch语句中使用的R值,如果你有很长的电台列表:

switch (v.getId()) { 
    case R.id.RadioAuction: 
    // Do stuff 
    ... 
} 
+0

谢谢,虽然这似乎并不奏效。 'getId无法解析或不是字段'错误 – rusty009 2012-04-01 21:29:07

+0

对不起...这是一个函数...所以'v.getId();' – JRaymond 2012-04-01 23:13:45