我有ListAdapter
哪个类别的 TextView 填充列表,并且RadioButton
要检查哪个。所以,问题是我希望用户通过 List 定义他想要的类别,当他点击时RadioButton
,其他人应该被取消选中等等。我需要以某种方式设置此 RadioButtons 的 ID,并且我正在getView(...)
方法中执行此操作,ListAdapter
但是当它第二次调用该方法时,他没有找到该方法,RadioButton
并且在尝试设置此 RadioButton 视图的 ID 时出现错误。我正在调试它,第一次它通过 method 找到了视图findViewById
,但第二次没有。
我想我可能知道它的问题 - >当它第二次通过 ID 查找视图时,它找不到它,因为我已经在第一次调用时放置了其他标识符,但是我如何设置唯一标识符我的 RadioButtons 在列表中呢?
这是我的代码: getView:
public View getView(int index, View view, ViewGroup parent) {
if (view == null){
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
view = inflater.inflate(R.layout.category_item, parent, false);
}
ListCategoryItem category = categories.get(index); // categories is list
TextView title = (TextView) view.findViewById(R.id.categoryTitle);
naziv.setText(kategorija.getNazivKategorije());
RadioButton radioBtn = (RadioButton) view.findViewById(R.id.categoryRadioButton);
radioBtn.setId(category.getIdCategory());
return view;
}
这是我对 category_item 的布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/categoryTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:paddingTop="5dp"
/>
<RadioButton
android:id="@+id/categoryRadioButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:textSize="15sp"
android:onClick="onRadioButtonClick"/>
那么,如何在视图中正确地为我的 RadioButtons 设置唯一标识符,或者我可以以某种方式制作一组 RadioButtons,它们会照顾自己,当其他一个被选中时,其他人不被选中 - HTML 中的一些解决方法。