2017-09-12 49 views
0

我在我的片段中創建了一個單選按鈕,現在試圖找到一個eventListener,我可以使用它在用戶選擇單選按鈕時獲取單選按鈕ID /標記。這裏是我的佈局:如何使用列表視圖獲取選定的單選按鈕標記

<LinearLayout 
      android:paddingBottom="5dp" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal"> 
    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent"> 

    <LinearLayout 
      android:id="@+id/zone_types_list_View" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:choiceMode="singleChoice" 
      android:orientation="vertical" 
      android:background="@drawable/room_type_border"/> 
    </ScrollView> 
    </LinearLayout> 

在片段:

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    listView = (LinearLayout) rootView.findViewById(R.id.zone_types_list_View); 
    .. 
    .. 
} 


private void addRadioButtons(final List<String> zoneTypesList) { 
    if (getActivity() != null) { 
     getActivity().runOnUiThread(new Runnable() { 
      @Override 
      public void run() { 
       radioGroup = new RadioGroup(mActivity); 
       List<RadioButton> radioButtonsList = new ArrayList<RadioButton>(); 
       for (String ss : zoneTypesList) { 
        radioButton = new RadioButton(mActivity); 
        radioButton.setText(ss); 
        radioButton.setTag(ss.trim()); 

        radioButtonsList.add(radioButton); 
        radioGroup.addView(radioButton); 
       } 
       listView.addView(radioGroup); 
      } 
     }); 
    } 
} 

我使用addRadioButtons(List<String>)動態地添加對視圖單選按鈕。有人可以告訴我哪個組件應該用來監聽一個事件嗎?當單選按鈕選擇並且可能獲得單選按鈕標籤而不是隻有位置或ID?

回答

1

您可以使用CompoundButton.OnCheckedChangeListener

radioButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 
    @Override 
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
     String tag = (String) buttonView.getTag(); 
    } 
}); 
相關問題