android listview group,android – 每行中带有RadioGroup的ListView

上面显示的是我的TextViews和RadioGroup的自定义列表视图.根据项目状态是“待处理”还是“提供”,我更新待处理项目 – TextView(红色,顶部).

一切都按预期工作,我能够在滚动时保留RadioGroup选择.

但是,当我滚动时,挂起的项TextView不会保留其值.只要列表滚动,它就会改变.这是我的getView方法.

public View getView(final int position, View convertView, ViewGroup parent)

{

System.out.println(" --- position ---"+position+" --- isChecked[position] --- "+isChecked[position]);

ViewHolder viewHolder = null;

if(convertView == null)

{

convertView = layoutInflater.inflate(R.layout.order_status_listview_row, null);

viewHolder = new ViewHolder();

convertView.setTag(viewHolder);

}

else

{

viewHolder = (ViewHolder)convertView.getTag();

convertView.setTag(viewHolder);

}

viewHolder.itemName = (TextView)convertView.findViewById(R.id.textview_order_status_item_name);

viewHolder.itemQuantity = (TextView)convertView.findViewById(R.id.textview_order_status_item_quantity);

viewHolder.radioGroup = (RadioGroup)convertView.findViewById(R.id.radiogroup_order_status_dialog);

// isUserChanged[position] = false;

viewHolder.radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener()

{

public void onCheckedChanged(RadioGroup group, int checkedId)

{

// if(isUserChanged[position])

{

switch(checkedId)

{

case R.id.radiobutton_served:

System.out.println(" --- radiobutton_served ---"+" position "+position+" isChecked[position] "+isChecked[position]);

count--;

// countView.setText(DataHelper.getAppropriateCountValue(count));

isChecked[position] = true;

break;

case R.id.radiobutton_pending:

System.out.println(" --- radiobutton_pending ---"+" position "+position+" isChecked[position] "+isChecked[position]);

isChecked[position] = false;

count++;

// countView.setText(DataHelper.getAppropriateCountValue(count));

break;

}

countView.setText(DataHelper.getAppropriateCountValue(count));

}

// isUserChanged[position] = false;

}

});

viewHolder.radioGroup.setOnClickListener(new OnClickListener()

{

public void onClick(View view)

{

// isUserChanged[position] = true;

}

});

viewHolder.itemName.setText(orderList.get(position).getDishName());

viewHolder.itemQuantity.setText(orderList.get(position).getDishQuantity());

// change selection state for item checked when selection for radioButton changes

if(isChecked[position])

viewHolder.radioGroup.check(R.id.radiobutton_served);

else

viewHolder.radioGroup.check(R.id.radiobutton_pending);

return convertView;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值