私のアプリでは、ListView を使用して注文するアイテムを選択しました。注文するアイテムを選択すると、チェックが入り、注文ページに追加されます。メイン ページに戻ってアイテム リストに戻ると、選択したアイテムのチェックが外れますが、選択したアイテムは注文ページに表示されます。選択したアイテムは、手動で削除するまでチェックする必要があります。これを解決するのを手伝ってください。
これが私のコードです:
public View getView(final int position, View convertView, ViewGroup parent)
{
final ViewHolder holder;
if (convertView == null)
{
convertView = inflater.inflate(R.layout.selecteditemlistview, null);
holder = new ViewHolder();
holder.textViewSelectedText = (TextView)convertView.findViewById(R.id.selectedtext);
holder.price=(TextView)convertView.findViewById(R.id.selectitemprice);
holder.image=(ImageView)convertView.findViewById(R.id.selectitemimage);
holder.qty=(EditText)convertView.findViewById(R.id.selectqty);
holder.total=(TextView)convertView.findViewById(R.id.price);
holder.delete = (Button) convertView.findViewById(R.id.delete);
holder.uncheck = (CheckBox)convertView.findViewById(R.id.bcheck);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
String amount=holder.qty.getText().toString();
final Double price1=Double.parseDouble(itemprice.get(position));
int qut=Integer.parseInt(holder.qty.getText().toString());
Double total=(price1*qut);
holder.textViewSelectedText.setText(arr1.get(position));
holder.price.setText(itemprice.get(position));
holder.image.setImageBitmap(itemimage.get(position));
holder.total.setText(String.valueOf(total));
holder.delete.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
arr1.remove(position);
itemimage.remove(position);
itemprice.remove(position);
// holder.uncheck.setChecked(false);
View parent = (View)v.getParent();
CheckBox chkBox = (CheckBox)parent.findViewById(R.id.bcheck);
if ((holder.arr1==true)&&(holder.uncheck.isChecked()))
{holder.uncheck.setChecked(false);
}
notifyDataSetChanged();
}
});
holder.qty.setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
if(!hasFocus)
{
int position = v.getId();
final EditText Caption = (EditText) v;
Caption.setFocusable(true);
holder.qty.setFocusable(true);
int q=Integer.parseInt(holder.qty.getText().toString());
Double result=(price1 * q);
System.out.println(result);
holder.total.setText(String.valueOf(result));
}
}
});
return convertView;
}
class ViewHolder
{
protected boolean arr1;
public CheckBox uncheck;
public Button delete;
public TextView mTextView;
TextView textViewSelectedText = null;
TextView price=null;
ImageView image=null;
EditText qty=null;
TextView total=null;
}