Android:带有单选按钮的Listview项目?

时间:2013-03-21 07:24:41

标签: android listview android-listview radio-button radio-group

我有一个listview和一个相关的行视图(xml),列表中有5个问题,每个问题有4个选项。因此,行视图xml定义了文本视图(用于提问)和4个唯一的单选按钮(用于选项),因此单个文本视图作为具有4个选项的问题是在列表中重复5次的单个组件。 我的问题是如何检索为所有5个问题选择的特定单选按钮及其在单个事件上的相关选项,例如:提交按钮

遇到严重问题,帮助感谢

2 个答案:

答案 0 :(得分:0)

public void onRadioButtonClicked(View view) {
// Is the button now checked?
boolean checked = ((RadioButton) view).isChecked();

// Check which radio button was clicked
switch(view.getId()) {
    case R.id.radiobutton1:
        if (checked)
            // radio button 1 is selected.
        break;
    case R.id.radiobutton2:
        if (checked)
            // radio button 2 is selected.
        break;
     case R.id.radiobutton3:
        if (checked)
            // radio button 3 is selected.
        break;
      case R.id.radiobutton4:
        if (checked)
            // radio button 4 is selected.
        break;
  }
}

http://developer.android.com/guide/topics/ui/controls/radiobutton

public View getView(final int arg0, View arg1, ViewGroup arg2) {
    final ViewHolder vh;
    vh= new ViewHolder();

    if(arg1==null )
     {
        arg1=mInflater.inflate(R.layout.listviewsingleimg, arg2,false);
        vh.iv1= (ImageView)arg1.findViewById(R.id.ivs);
        vh.rb= (RadioButton) arg1.findViewById(R.id.radioButton1);
        vh.tv= (TextView)arg1.findViewById(R.id.textView1);

     }
    else
    {
     arg1.setTag(vh);
    }
        vh.iv1.setImageResource(R.drawable.ic_launcher);
        vh.tv.setText("hello");
        vh.rb.setText("radioButton");
        vh.rb.setOnClickListener(new OnClickListener()
        {

            public void onClick(View v) {
                // TODO Auto-generated method stub
                if(arg0==1)
                {
                switch(v.getId()) {
                case R.id.radioButton1:
                    if (vh.rb.isChecked())
                        // radio button 1 is selected.
                        Toast.makeText(c,"radiobutton 1 clicked",1000).show();
                    break;
                }
              }

            }

        });


    return arg1;
}

static class ViewHolder
{
TextView tv;
RadioButton rb;
ImageView iv1;

}

如果点击列表视图的位置1中的单选按钮,则上面显示吐司。

答案 1 :(得分:0)

你好我的朋友,我有你的问题

你必须使用sparseBooleanArray来获取点击按钮上所有五个问题的单选按钮c