2012-04-01 42 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