我只想制作一个带有两个TextView的单选ListView(并排连续)。
实际上我想让它让用户根据尺寸价格值选择产品。 这些值显示在ListView中,这两个TextView代表Size-Price值。
问题在于我无法将其作为单个选项列表(也在其前面显示单选按钮)。下面是我正在使用的行布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:id="@+id/rowLayout" >
<TextView
android:id="@+id/tv_size"
android:layout_width="180dp"
android:layout_height="wrap_content"
android:text="Size"
android:textSize="15sp" />
<TextView
android:id="@+id/tv_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Price"
android:textSize="15sp" />
<RadioButton
android:id="@+id/radioButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right" />
</LinearLayout>
请告诉我如何用Java编写代码。 如果可以使用simple_list_item_2布局那么怎么做?
答案 0 :(得分:1)
我不确定我们可以在ListView中创建无线电组,我正在做的只是处理Java中的选择。 例如:
@Override
public View getView(int position, View view, ViewGroup viewGroup) {
final ViewHolder holder;
if (view == null) {
holder = new ViewHolder();
view = mInflater.inflate(R.layout.customer_invoice_row, null);
holder.selectionRB = (RadioButton) view
.findViewById(R.id.selectionRB);
holder.sizeTV = (TextView) view
.findViewById(R.id.sizeTV);
holder.priceTV = (TextView) view
.findViewById(R.id.priceTV);
holder.selectionRB.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
RadioButton rb = (RadioButton) v;
if (mSelectedRB != null) {
if (!rb.getTag().equals(mSelectedRB.getTag()))
mSelectedRB.setChecked(false);
}
mSelectedRB = rb;
}
});
view.setTag(holder);
} else {
holder = (ViewHolder) view.getTag();
}
holder.position = position;
holder.selectionRB.setTag(productObj);
holder.sizeTV.setText(productObj.getSize());
holder.priceTV.setText(productObj.getPrice());
return view;
}
持有人:[它可以是内部阶级]
class ViewHolder {
int position;
RadioButton selectionRB;
TextView sizeTV;
TextView priceTV;
}
和mSelectedRB是您活动的全球成员。
答案 1 :(得分:0)
尝试
然后在适配器中声明RadioGroup
对象
在getView()
或bindView()
中使用RadioButtons
将RadioGroup
添加到RadioGroup.addView()