gpt4 book ai didi

android - 如何更改 ListView 作为 TextView 的更改(Android)

转载 作者:太空狗 更新时间:2023-10-29 14:46:46 26 4
gpt4 key购买 nike

我正在尝试根据编辑文本中的更改更新列表

当我单击编辑文本时,我无法编辑值。我收到以下错误..

IInputConnectionWrapper: getExtractedText on inactive InputConnection
W/IInputConnectionWrapper: getTextBeforeCursor on inactive InputConnection

这是我的 Listadapter 的代码

public class CartListAdapter extends BaseAdapter {
private LayoutInflater inflater;
private Context mContext;
ProgressDialog pDialog;


ArrayList<HashMap<String, String>> itemvalues;
HashMap<String, String> itemlist;
// ImageLoader mImageLoader;
public CartListAdapter(Context c,ArrayList<HashMap<String,String>>itemvalues) {
this.mContext = c;
this.itemvalues=itemvalues;

inflater = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
// mImageLoader = VolleyClass.getInstance().getImageLoader();


}

@Override
public int getCount() {
return itemvalues.size();
}

@Override
public Object getItem(int position) {
return position;
}

@Override
public long getItemId(int position) {
return 0;
}



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


ViewHoldercart holder=null;
View view = convertView;
itemlist = itemvalues.get(position);
if (view == null) {
holder = new ViewHoldercart();

view = inflater.inflate(R.layout.cartlistrow, parent, false);


// holder.imageView = (NetworkImageView) view.findViewById(R.id.icon);
//holder.progressBar = (ProgressBar) view.findViewById(R.id.product_grid_text);
holder.itemname =(TextView)view.findViewById(R.id.itemname);
holder.itemamount =(TextView)view.findViewById(R.id.itemamount);
holder.itemqty=(EditText)view.findViewById(R.id.itemqty);
holder.closebtn=(ImageView)view.findViewById(R.id.closebtn);
holder.itemid1 =(TextView)view.findViewById(R.id.itemid1);
holder.itemtotal =(TextView)view.findViewById(R.id.itemtotal);
view.setTag(holder);
} else {
holder = (ViewHoldercart) view.getTag();
}
holder.itemid1.setText(itemvalues.get(position).get("itemid"));
holder.itemname.setText(itemvalues.get(position).get("itemname"));
holder.itemamount.setText(itemvalues.get(position).get("itemrate"));
holder.itemqty.setText(itemvalues.get(position).get("itemqty"));
holder.itemtotal.setText(itemvalues.get(position).get("total"));


holder.itemqty.addTextChangedListener(new TextWatcher()
{


@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {

}

@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {

cartListAdapter.notifyDataSetChanged();
}


@Override
public void afterTextChanged(Editable s) {
try {
HashMap<String, String> hh = itemvalues.get(position);
double qty1 = Double.parseDouble(s.toString());
// Log.d("value",s.toString());
double itemprice1 = Double.parseDouble(hh.get("itemrate").toString());
double temptotal = (qty1 * itemprice1);
hh.put("total",String.valueOf(temptotal));
itemvalues.set(position,hh);
granttotal =0.0;
for(int j = 0; j< itemvalues.size();j++){
granttotal = granttotal+Double.parseDouble(itemvalues.get(j).get("total"));
}
// Log.d("value",String.valueOf(granttotal));
grandtotal.setText(String.valueOf(df.format(granttotal)));


}catch(NumberFormatException e){

}
cartListAdapter.notifyDataSetChanged();
}
}
);



holder.closebtn.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
itemvalues.remove(position);
granttotal =0.0;
for(int j = 0; j<itemvalues.size();j++){
granttotal = granttotal+Double.parseDouble(itemvalues.get(j).get("total"));
}
grandtotal.setText(String.valueOf(df.format(granttotal)));

}

});

//holder.imageView.setImageUrl(AppConstant.category_image_url+catitems.get("cat_icon1"),mImageLoader);
return view;

}


}

class ViewHoldercart {
// NetworkImageView imageView;
EditText itemqty;
TextView itemamount,itemname,itemid1,itemtotal;
ImageView closebtn;
}

我已经尝试过 onTextChanged。同样的结果。

提前致谢..!!

最佳答案

您必须在工作之前删除文本更改监听器,然后再次添加监听器

关于android - 如何更改 ListView 作为 TextView 的更改(Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39329175/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com