如何生成动态的单选按钮,在适配器视图一个radiongroup? [英] how to generate dynamic RadioButton with a radiongroup in adapterView?
本文介绍了如何生成动态的单选按钮,在适配器视图一个radiongroup?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个动态清单。
我要显示该列表在单选按钮适配器视图。在一个组中。
我用:
公共类Type2Adapter扩展了BaseAdapter {
上下文语境;
LayoutInflater充气;
ArrayList的< QueOption> OPLIST;
字符串List1中;
诠释计数;
RadioGroup中RadioGroup中;
串点,更多的;
公共Type2Adapter(上下文的背景下,ArrayList的< QueOption>的ArrayList){
this.context =背景;
充气= LayoutInflater.from(上下文);
OPLIST = ArrayList的;
数= oplist.size();
如果(计数> = 1){
数= oplist.size();
}其他{
数= 1;
}
}
@覆盖
公众诠释getCount将(){
返回计数;
}
@覆盖
公共对象的getItem(INT位置){
返回的位置;
}
@覆盖
众长getItemId(INT位置){
返回的位置;
}
@覆盖
公共查看getView(INT位置,查看convertView,ViewGroup中父){
ViewHolder持有人;
如果(convertView == NULL){
持有人=新ViewHolder();
convertView = inflater.inflate(R.layout.type2_option,NULL);
// holder.nameList =(单选)convertView.findViewById(R.id.optionRadio);
holder.layout =(的LinearLayout)convertView.findViewById(R.id.type2);
RadioGroup中=(RadioGroup中)convertView.findViewById(R.id.optionRadioGroup);
convertView.setTag(保持器);
}
其他{
支架=(ViewHolder)convertView.getTag();
}
holder.layout.setBackgroundResource(R.drawable.list_back_rowcolor);
// holder.nameList.setText(oplist.get(位置).getOptionName());
单选newRadioButton =新的单选按钮(上下文);
newRadioButton.setId(位置);
newRadioButton.setText(oplist.get(位置).getOptionName());
radiogroup.addView(newRadioButton);
返回convertView;
}
公共类ViewHolder {
私人的LinearLayout布局;
私人单选名单;
}
}
XML:
< XML版本=1.0编码=UTF-8&GT?;
<的LinearLayout
的xmlns:机器人=http://schemas.android.com/apk/res/android
机器人:layout_width =FILL_PARENT
机器人:layout_height =FILL_PARENT>
<的LinearLayout
机器人:ID =@ + ID / TYPE2
机器人:layout_width =FILL_PARENT
机器人:layout_height =WRAP_CONTENT
机器人:方向=横向>
< RadioGroup中
机器人:ID =@ + ID / optionRadioGroup
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT>
< / RadioGroup中>
< / LinearLayout中>
< / LinearLayout中>
我应该怎么做才能解决我的问题。
在此先感谢:
解决方案
< RadioGroup中
机器人:ID =@ + ID / optionRadioGroup
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT>
< / RadioGroup中>
//这里我加入6单选按钮。
RGROUP =(RadioGroup中)findViewById(R.id.optionRadioGroup);
的for(int i = 0; I< 6,我++)
{
RB [我] =新的单选按钮(上下文);
RB [I] .setText(RDO+ I);
的rb [I] .setId(ⅰ);
rgroup.addView(RB [I]);
}
I have a Dynamic list..
I want to show that list in adapter view with radio buttons. in one group.
I used:
public class Type2Adapter extends BaseAdapter{
Context context;
LayoutInflater inflater;
ArrayList<QueOption> oplist;
String list1;
int count;
RadioGroup radiogroup;
String dot,more;
public Type2Adapter(Context context,ArrayList<QueOption> arrayList){
this.context = context;
inflater = LayoutInflater.from(context);
oplist = arrayList;
count = oplist.size();
if(count>=1){
count = oplist.size();
}else{
count = 1;
}
}
@Override
public int getCount() {
return count;
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if(convertView == null){
holder = new ViewHolder();
convertView = inflater.inflate(R.layout.type2_option, null);
// holder.nameList = (RadioButton)convertView.findViewById(R.id.optionRadio);
holder.layout = (LinearLayout)convertView.findViewById(R.id.type2);
radiogroup = (RadioGroup)convertView.findViewById(R.id.optionRadioGroup);
convertView.setTag(holder);
}
else{
holder = (ViewHolder) convertView.getTag();
}
holder.layout.setBackgroundResource(R.drawable.list_back_rowcolor);
// holder.nameList.setText(oplist.get(position).getOptionName());
RadioButton newRadioButton = new RadioButton(context);
newRadioButton.setId(position);
newRadioButton.setText(oplist.get(position).getOptionName());
radiogroup.addView(newRadioButton);
return convertView;
}
public class ViewHolder{
private LinearLayout layout;
private RadioButton nameList;
}
}
XMl:
<?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">
<LinearLayout
android:id="@+id/type2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<RadioGroup
android:id="@+id/optionRadioGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</RadioGroup>
</LinearLayout>
</LinearLayout>
what should i do to solve my problem.
Thanks in advance:
解决方案
<RadioGroup
android:id="@+id/optionRadioGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</RadioGroup>
//here i am adding 6 radiobutton .
rgroup=(RadioGroup)findViewById(R.id.optionRadioGroup);
for(int i=0; i<6; i++)
{
rb[i]=new RadioButton(context);
rb[i].setText("rdo"+i);
rb[i].setId(i);
rgroup.addView(rb[i]);
}
这篇关于如何生成动态的单选按钮,在适配器视图一个radiongroup?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文