获取文本从customAdapter在ListView [英] Getting Text From the ListView in customAdapter

查看:138
本文介绍了获取文本从customAdapter在ListView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在获得特别TextView的价值问题,我收到的最后一个下面的值是customAdapter了我的$ C $ getview的C() 基本上我想要的是更新的加号按钮点击,反之亦然

数量文本

  @覆盖
    公共查看getView(INT位置,查看convertview,ViewGroup中父){
LayoutInflater layoutInflater =((活动)活性).getLayoutInflater();
        最后的HashMap<,&GT?;地图= list.get(位置);
        如果(convertview == NULL)
        {
        convertview = layoutInflater.inflate(R.layout.listviewdetails,父母,假);
        持有人=新Viewholder();
        holder.title =(TextView中)convertview.findViewById(R.id.lserving_size_grams);
        holder.servingsize =(TextView中)convertview.findViewById(R.id.ltvprotiendesclabel);
        holder.Fiber =(TextView中)convertview.findViewById(R.id.lFiberview);
        holder.lserving_qty =(TextView中)convertview.findViewById(R.id.lvalues​​erving);
        holder.ckbox =(复选框)convertview.findViewById(R.id.lsave_item_box);
        holder.sminus =(ImageView的)convertview.findViewById(R.id.limage_minus);
        holder.splus =(ImageView的)convertview.findViewById(R.id.limage_plus);

        convertview.setTag(保持器);

        }
        其他
          {
             支架=(Viewholder)convertview.getTag();
          }

         //开复选框检查活动


         holder.ckbox.setOnCheckedChangeListener(空);
         holder.splus.setOnClickListener(空);
         holder.ckbox.setChecked(checkedItems [位置]);
         holder.ckbox.setTag(R.id.lsave_item_box,位置);
         //holder.splus.setOnClickListener(null);
         holder.lserving_qty.setText(checkedAddSub [位置] qtysavesearch [位置]:map.get(Constants.NF_SERVING_SIZE_QTY)的ToString());

         holder.splus.setTag(R.id.limage_plus,位置);


         / *
          *成Btn加点击监听器
          * /
         holder.splus.setOnClickListener(新OnClickListener(){

                @覆盖
                公共无效的onClick(视图v){
                    // TODO自动生成方法存根
                     最终诠释位置=(整数)v.getTag(R.id.limage_plus);

                     // holder.lserving_qty.getText(checkedAddSub [位置] qtysavesearch [位置]:map.get(Constants.NF_SERVING_SIZE_QTY)的ToString());

                     //counter=Math.round(Float.valueOf(serving_size_qty[position]));
                     计数器= Math.round(Float.valueOf(holder.lserving_qty.getText()的toString())。);
                    如果(柜> = 1)
                    {
                        反++;
                        qtysavesearch [位置] =将String.valueOf(柜);
                        checkedAddSub [位置] =真;
                        notifyDataSetChanged();

                    }
                    其他
                    {
                        checkedAddSub [位置] = FALSE;
                        notifyDataSetChanged();

                    }
                }
            });
 

请帮我在此先感谢

解决方案

 公共无效onShowButtonClickHandler(视图v){
        RelativeLayout的RL =(RelativeLayout的)v.getParent();
        的LinearLayout LL =(的LinearLayout)rl.getChildAt(0);
        TextView中的TextView =(TextView中)ll.getChildAt(0);
        如果(!isTablet){
            getSupportFragmentManager()的BeginTransaction()
                    .show(mapFragment)
                    .setCustomAnimations(R.anim.slide_out,R.anim.slide_out)
                    .hide(vehiclesF​​ragment)
                    。承诺();
            isVehiclesOpen = FALSE;
        }
        vehicleToShowHide = textView.getText()的toString()。
        mapFragment.hideVehicle(vehicleToShowHide);
    }
 

获取parentlayout位置,然后试图让那个孩子的位置相对于该布局,那么在将获得其中U点击butoon特定的行

I have a problem in getting the particular textview value and i am getting the value of the last one Here is My code of getview() of customAdapter Basically what i want is to update the Quantity text on plus button click and vice-versa

@Override
    public View getView(int position, View convertview, ViewGroup parent) {
LayoutInflater layoutInflater=((Activity) activity).getLayoutInflater();
        final HashMap<?, ?> map=list.get(position);
        if(convertview==null)
        {
        convertview=layoutInflater.inflate(R.layout.listviewdetails,parent,false);
        holder = new Viewholder();
        holder.title=(TextView) convertview.findViewById(R.id.lserving_size_grams);
        holder.servingsize=(TextView) convertview.findViewById(R.id.ltvprotiendesclabel);
        holder.Fiber=(TextView)convertview.findViewById(R.id.lFiberview);
        holder.lserving_qty=(TextView)convertview.findViewById(R.id.lvalueserving);
        holder.ckbox=(CheckBox)convertview.findViewById(R.id.lsave_item_box);
        holder.sminus=(ImageView)convertview.findViewById(R.id.limage_minus);
        holder.splus=(ImageView)convertview.findViewById(R.id.limage_plus);

        convertview.setTag(holder);

        }
        else
          {
             holder=(Viewholder)convertview.getTag();
          }

         //On Check Box Check Events


         holder.ckbox.setOnCheckedChangeListener(null);
         holder.splus.setOnClickListener(null);
         holder.ckbox.setChecked(checkedItems[position]);
         holder.ckbox.setTag(R.id.lsave_item_box, position);
         //holder.splus.setOnClickListener(null);
         holder.lserving_qty.setText(checkedAddSub[position] ? qtysavesearch[position] :                                                  map.get(Constants.NF_SERVING_SIZE_QTY).toString());

         holder.splus.setTag(R.id.limage_plus,position);


         /*
          * Plus Btn click Listener
          */
         holder.splus.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                     final int position = (Integer) v.getTag(R.id.limage_plus);

                     // holder.lserving_qty.getText(checkedAddSub[position] ? qtysavesearch[position] : map.get(Constants.NF_SERVING_SIZE_QTY).toString());

                     //counter=Math.round(Float.valueOf(serving_size_qty[position]));
                     counter=Math.round(Float.valueOf(holder.lserving_qty.getText().toString()));
                    if(counter>=1)
                    {   
                        counter++;
                        qtysavesearch[position]=String.valueOf(counter);
                        checkedAddSub[position]=true;
                        notifyDataSetChanged();

                    }
                    else
                    {
                        checkedAddSub[position]=false;
                        notifyDataSetChanged();

                    }
                }
            });

Please Help me Thanks in advance

解决方案

public void onShowButtonClickHandler(View v) {
        RelativeLayout rl = (RelativeLayout) v.getParent();
        LinearLayout ll = (LinearLayout) rl.getChildAt(0);
        TextView textView = (TextView) ll.getChildAt(0);
        if (!isTablet) {
            getSupportFragmentManager().beginTransaction()
                    .show(mapFragment)
                    .setCustomAnimations(R.anim.slide_out, R.anim.slide_out)
                    .hide(vehiclesFragment)
                    .commit();
            isVehiclesOpen = false;
        }
        vehicleToShowHide = textView.getText().toString();
        mapFragment.hideVehicle(vehicleToShowHide);
    }

Get the parentlayout position and then try to get the position of that child with respect to that layout and then u will get that particular Row on which u click the butoon

这篇关于获取文本从customAdapter在ListView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆