android中带有动态文本视图和单选按钮的自定义listview
大家好,我正在创建一个带有textview和单选按钮的自定义listview,必须以编程方式定义,因为我必须从数组中获取它,并且根据数组的不同,我必须创建它。到目前为止,我可以使用textview创建自定义listview,但我不知道如何使用单选按钮创建单选组,以及如何添加以查看来自的任何帮助你们会非常感激这是我的代码android中带有动态文本视图和单选按钮的自定义listview,android,android-layout,Android,Android Layout,大家好,我正在创建一个带有textview和单选按钮的自定义listview,必须以编程方式定义,因为我必须从数组中获取它,并且根据数组的不同,我必须创建它。到目前为止,我可以使用textview创建自定义listview,但我不知道如何使用单选按钮创建单选组,以及如何添加以查看来自的任何帮助你们会非常感激这是我的代码 public abstract class LearnActivity extends ListActivity implements RadioGroup.OnChec
public abstract class LearnActivity extends ListActivity implements RadioGroup.OnCheckedChangeListener {
String tag = "Events";
private ProgressDialog m_ProgressDialog = null;
private ArrayList<mac> m_orders = null;
private OrderAdapter m_adapter;
private Runnable viewOrders;
String[] values = new String[] { "Android", "iPhone", "Windows",
"Black", "WebOS", "Ubuntu", "Windows7", "MaxOSX",
"Linux", "OS/2" };
int index = values.length;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.d(tag," event7");
m_orders = new ArrayList<mac>();
Log.d(tag," event65");
this.m_adapter = new OrderAdapter(this, R.layout.row, m_orders);
Log.d(tag," 34");
setListAdapter(this.m_adapter);
Log.d(tag," 45");
viewOrders = new Runnable(){
@Override
public void run() {
Log.d(tag," eve");
getOrders();
}
};
Thread thread = new Thread(null, viewOrders, "MagentoBackground");
Log.d(tag," ent7");
thread.start();
m_ProgressDialog = ProgressDialog.show(LearnActivity.this,
"Please wait...", "Retrieving data ...", true);
}
private Runnable returnRes = new Runnable() {
@Override
public void run() {
Log.d(tag," dre");
if(m_orders != null && m_orders.size() > 0){
m_adapter.notifyDataSetChanged();
for(int i=0;i<m_orders.size();i++)
m_adapter.add(m_orders.get(i));
Log.d(tag," ooo");
}
m_ProgressDialog.dismiss();
m_adapter.notifyDataSetChanged();
Log.d(tag," 4567");
}
};
private void getOrders(){
try{
Log.d(tag," yyy");
m_orders = new ArrayList<mac>();
Boolean damn=false;
String sam="hi";
for(int positio=0;positio<index;positio++){
mac o3 = new mac();
String sam1=values[positio];
Log.d(tag,"derk");
o3.setOrderName(sam1);
m_orders.add(o3);
}
Thread.sleep(5000);
Log.i("ARRAY", ""+ m_orders.size());
} catch (Exception e) {
Log.e("BACKGROUND_PROC", e.getMessage());
}
runOnUiThread(returnRes);
Log.d(tag,"cfds");
}
private class OrderAdapter extends ArrayAdapter<mac> {
private ArrayList<mac> items;
Boolean testit;
public OrderAdapter(Context context, int textViewResourceId, ArrayList<mac> items) {
super(context, textViewResourceId, items);
this.items = items;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Log.d(tag," yyt");
View v = convertView;
if (v == null) {
Log.d(tag," ll");
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.row, null);
}
mac o = items.get(position);
if (o != null) {
Log.d(tag," uuu");
TextView re=((TextView)v.findViewById(R.id.textView1));
mRadioGroup = (RadioGroup) findViewById(R.id.radioGroup1);
RadioButton newRadioButton = new RadioButton(this);
newRadioButton.setText(R.string.radio_group_snack);
newRadioButton.setId(R.id.snack);
LinearLayout.LayoutParams layoutParams = new RadioGroup.LayoutParams(
RadioGroup.LayoutParams.WRAP_CONTENT,
RadioGroup.LayoutParams.WRAP_CONTENT);
mRadioGroup.addView(newRadioButton, 0, layoutParams);
mRadioGroup.setOnCheckedChangeListener(this);
re.setText(o.getOrderName());
CharSequence fat=re.getText();
String gf=(String)re.getText();
Log.d(gf," 000000");
//String mac=Boolean.toString(testit);
//Log.d(mac," 678990");
//System.out.println(mac," ffff");
//tt.setText("Name: "+o.getOrderName());
// bt.setText("Status: "+ o.getOrderStatus());
}
public void onCheckedChanged(RadioGroup group,int checkedId){
}
return v;
}
}
}
请参阅中给出的示例
或者作为替代解决方案,请尝试。在上述代码中,这一行RadioButton newRadioButton=新RadioButton这一行;由于构造函数RadioButtonLearnActivity.OrderAdapter未定义且此行为newRadioButton.setIdR.id.snack,因此给出错误;将错误作为零食无法解决或不是一个字段。这意味着什么?是否需要创建零食ConstantYBody可以向我解释上述错误,请了解链接AB1209,但滚动不起作用。我解决了问题,引入了滚动视图,然后将表格布局作为其子项。