2015-09-07 29 views
0

我有一個標籤片段中的列表視圖, 現在列表視圖中我有兩種觀點一種觀點認爲是已經在走了visibility.when我滾動列表視圖兩種視圖disappears.I正與持有人的處理,但我仍然面臨這個問題。爲什麼當我滾動時,列表視圖項目中的圖像視圖消失?

這裏是我的xml:

<RelativeLayout 
    android:id="@+id/rl_maino" 
    android:layout_width="match_parent" 
    android:layout_height="76dp" 
    android:background="@color/white" 
    > 

    <RelativeLayout 
      android:id="@+id/rl_coloro" 
      android:layout_width="6dp" 
      android:layout_height="20dp" 
      android:layout_alignParentLeft="true" 
      android:layout_marginTop="13dp" 
      android:background="@color/green" 
      > 
     </RelativeLayout> 

    <LinearLayout 
     android:id="@+id/ll_texto" 
     android:layout_width="200dp" 
     android:layout_height="fill_parent" 
     android:orientation="vertical" 
      android:layout_marginTop="14dp" 
     android:layout_marginLeft="16dp"> 

     <TextView 
     android:id="@+id/tv_subtitleo" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textColor="@color/black" 
     android:textSize="14sp" 
     android:text="Header" /> 

     <TextView 
      android:id="@+id/tv_subo" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:textColor="@color/addr_col" 
      android:textSize="12sp" 
      android:layout_marginTop="3dp" 
      android:text="subtext subtext subtext subtext subtext subtexts ubtexts subtexts" /> 

    </LinearLayout> 


     <TextView 
      android:id="@+id/tv_costo" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="14dp" 
      android:layout_marginRight="16dp" 
      android:layout_alignParentTop="true" 
      android:layout_alignParentRight="true" 
      android:textColor="@color/black" 
      android:text="AED 12200" /> 

     <LinearLayout 
      android:id="@+id/ll_addo" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/tv_costo" 
      android:orientation="horizontal" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentBottom="true" 
      android:layout_marginTop="3dp" 
      android:layout_marginBottom="14dp" 
      android:layout_marginRight="16dp" 

      > 

      <ImageView 
       android:id="@+id/iv_minuso" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:src="@drawable/minus_selector" 
       android:visibility="gone"/> 

      <TextView 
       android:id="@+id/tv_numbero" 
       android:layout_width="20dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:textColor="@color/black" 
       android:layout_margin="5dp" 
       android:gravity="center" 
       android:textSize="15sp" 
       android:text="0" /> 

      <ImageView 
       android:id="@+id/iv_pluso" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:src="@drawable/plus_selector" /> 

     </LinearLayout> 

     <LinearLayout 
      android:id="@+id/ll_unavailo" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/tv_costo" 
      android:orientation="horizontal" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentBottom="true" 
      android:layout_marginTop="3dp" 
      android:layout_marginBottom="10dp" 
      android:layout_marginRight="16dp" 
      android:visibility="gone" 
      > 


      <TextView 
       android:id="@+id/tv_unavailo" 
       android:layout_width="70dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:textColor="@color/addr_col" 
       android:layout_margin="2dp" 
       android:gravity="center_vertical|right" 
       android:textSize="12sp" 
       android:text="@string/c_unavail" /> 


     </LinearLayout> 



</RelativeLayout> 

這裏是我的適配器:

public View getView(int position, View convertView, ViewGroup parent) { 
    final ViewHolder holder; 

    if (convertView == null) { 

     LayoutInflater inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     convertView = inflater.inflate(R.layout.only_pro_items, null); 
     holder=new ViewHolder(); 

      holder.rl_main=(RelativeLayout)convertView.findViewById(R.id.rl_maino); 
      holder.rl_color=(RelativeLayout)convertView.findViewById(R.id.rl_coloro); 
      holder.ll_unavail=(LinearLayout)convertView.findViewById(R.id.ll_unavailo); 
      holder.ll_text=(LinearLayout)convertView.findViewById(R.id.ll_texto); 
      holder.ll_add=(LinearLayout)convertView.findViewById(R.id.ll_addo); 
      holder.tv_subtitle=(TextView)convertView.findViewById(R.id.tv_subtitleo); 
      holder.tv_sub=(TextView)convertView.findViewById(R.id.tv_subo); 
      holder.tv_cost=(TextView)convertView.findViewById(R.id.tv_costo); 
      holder.tv_number=(TextView)convertView.findViewById(R.id.tv_numbero); 
      holder.tv_unavail=(TextView)convertView.findViewById(R.id.tv_unavailo); 
      holder.iv_minus=(ImageView)convertView.findViewById(R.id.iv_minuso); 
      holder.iv_plus=(ImageView)convertView.findViewById(R.id.iv_pluso); 

      convertView.setTag(holder); 

     } else { 
      Log.d("ttt", "3"); 
      holder=(ViewHolder) convertView.getTag(); 

     } 

    holder.tv_subtitle.setTypeface(gotham_book); 
    holder.tv_sub.setTypeface(gotham_light); 
    holder.tv_cost.setTypeface(gotham_book); 
    holder.tv_number.setTypeface(gotham_book); 
    holder.tv_unavail.setTypeface(gotham_light); 

    final Model_OnlyProduct model=arr_model.get(position); 
    holder.tv_subtitle.setText(model.getTv_name()); 
    holder.tv_sub.setText(model.getTv_sub_name()); 

    final int price[]={0}; 

    if (!model.getTv_price().matches("")) { 
     holder.tv_cost.setText(Constants.currency+model.getTv_price()); 
     price[0]=Integer.parseInt(model.getTv_price()); 
    } else { 
     holder.tv_cost.setText("From "+Constants.currency+model.getFrom_price()); 
     price[0]=Integer.parseInt(model.getFrom_price()); 
    } 




    if (model.getInStock().matches("In Stock")) { 

     holder.ll_unavail.setVisibility(View.GONE); 
    }else { 

     holder.ll_unavail.setVisibility(View.VISIBLE); 
     holder.ll_add.setVisibility(View.GONE); 
    } 


    String food_class=model.getRl_color(); 

    switch (food_class) { 
    case "Veg": 
     holder.rl_color.setBackgroundColor(activity.getResources().getColor(R.color.veg_green)); 
    break; 
    case "Non Veg": 
     holder.rl_color.setBackgroundColor(activity.getResources().getColor(R.color.non_red)); 
    break; 

    case "Egg": 
     holder.rl_color.setBackgroundColor(activity.getResources().getColor(R.color.egg_yellow)); 
    break; 

    case "": 
     holder.rl_color.setBackgroundColor(activity.getResources().getColor(R.color.white)); 
    break;  

    } 


    final int[] count={0}; 
    if (count[0]==0) { 
    holder.tv_number.setVisibility(View.INVISIBLE); 
     } 

    holder.iv_plus.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      if (count[0]>=0&&count[0]!=99) { 
       Log.d("qqq", "ar1r="+model.getCustom_status()); 
       if (model.getCustom_status().matches("1")) { 

        if (model.getCustom_type().matches("Combo")) { 
         Intent intent=new Intent(activity, Combo.class); 
         intent.putExtra(Constants.ITEM_ID, String.valueOf(model.getId())); 
         intent.putExtra(Constants.ITEM_NAME,model.getTv_name()); 
         if (!model.getTv_price().matches("")) { 
          intent.putExtra(Constants.ITEM_TYPE, "price"); 
          intent.putExtra(Constants.ITEM_PRICE, model.getTv_price()); 
         } else { 
          intent.putExtra(Constants.ITEM_TYPE, "from"); 
          intent.putExtra(Constants.ITEM_PRICE, model.getFrom_price()); 
         } 

         intent.putExtra(Constants.ITEM_COUNT, String.valueOf(count[0])); 
         intent.putExtra(Constants.ITEM_SUBTEXT, model.getTv_sub_name()); 
         intent.putExtra(Constants.ITEM_FROM, "menu"); 
         intent.putExtra(Constants.VIEW_INDEX, ""+model.getView_index()); 
         activity.startActivity(intent); 
         activity.overridePendingTransition(R.anim.move_up, R.anim.stay); 
        } else { 
         Intent intent=new Intent(activity, Toppings.class); 
         intent.putExtra(Constants.ITEM_ID, String.valueOf(model.getId())); 
         intent.putExtra(Constants.ITEM_NAME,model.getTv_name()); 
         if (!model.getTv_price().matches("")) { 
          intent.putExtra(Constants.ITEM_TYPE, "price"); 
          intent.putExtra(Constants.ITEM_PRICE, model.getTv_price()); 
         } else { 
          intent.putExtra(Constants.ITEM_TYPE, "from"); 
          intent.putExtra(Constants.ITEM_PRICE, model.getFrom_price()); 
         } 

         intent.putExtra(Constants.ITEM_COUNT, String.valueOf(count[0])); 
         intent.putExtra(Constants.ITEM_SUBTEXT, model.getTv_sub_name()); 
         intent.putExtra(Constants.ITEM_FROM, "menu"); 
         activity.startActivity(intent); 
         activity.overridePendingTransition(R.anim.move_up, R.anim.stay); 
        } 
       }else 
       { 

       holder.tv_number.setVisibility(View.VISIBLE); 
       count[0]++; 
       Constants.cart_count++; 

       activity.runOnUiThread(new Runnable() { 

        @Override 
        public void run() { 
         // TODO Auto-generated method stub 
         holder.tv_number.setText(String.valueOf(count[0])); 
         FragmentMenu.tv_count.setVisibility(View.VISIBLE); 
         FragmentMenu.tv_count.setText(String.valueOf(Constants.cart_count)); 

         int total=price[0]; 
         Constants.cart_amount+=total; 
         FragmentMenu.tv_cart_money.setText(Constants.currency+Constants.cart_amount); 
        } 
       }); 
       Constants.count++; 
       String id=String.valueOf(Constants.count); 
       HashMap<String, String> map=new HashMap<String, String>(); 
       map.put(Constants.ITEM_ID, String.valueOf(model.getId())); 
       map.put(Constants.ITEM_NAME, model.getTv_name()); 


        map.put(Constants.ITEM_PRICE, model.getTv_price()); 



       map.put(Constants.ITEM_PRICE, model.getTv_price()); 
       map.put(Constants.ITEM_COUNT, String.valueOf(count[0])); 
       map.put(Constants.ID, id); 


       if (Constants.arr_global.size()>0) { 
        int count=Constants.arr_global.size(); 
        boolean yettop=false; 
        int qwer=0; 
        for (int i = 0; i < count; i++) { 
         HashMap<String, String> map2=Constants.arr_global.get(i); 
         String item_id=map2.get(Constants.ITEM_ID); 
         if (item_id.matches(String.valueOf(model.getId()))) { 
          yettop=true; 
          qwer=i; 
          break; 
         } 
         else { 
          yettop=false; 
         } 
        } 

        if (yettop) { 
         Constants.arr_global.remove(qwer); 
         Constants.arr_global.add(map); 
        } else { 
         Constants.arr_global.add(map); 
        } 
       }else { 
        Constants.arr_global.add(map); 
       } 

      } 

     } 
     } 
    }); 

    return convertView; 

} 

的問題是:

if (model.getInStock().matches("In Stock")) { 

     holder.ll_unavail.setVisibility(View.GONE); 
    }else { 

     holder.ll_unavail.setVisibility(View.VISIBLE); 
     holder.ll_add.setVisibility(View.GONE); 
    } 
在這個循環中的下一個項目的知名度得到改變

..

+0

佈局犯規包含任何按鈕... –

+0

我的錯誤圖像視圖 –

回答

1

使用此條件和車CK

if (model.getInStock().matches("In Stock")) { 
holder.ll_add.setVisibility(View.VISIBLE); 
     holder.ll_unavail.setVisibility(View.GONE); 
    }else { 

     holder.ll_unavail.setVisibility(View.VISIBLE); 
     holder.ll_add.setVisibility(View.GONE); 
    } 
+0

感謝啊一噸MAN ...我沒有注意到它... –

+0

也歡迎你必須做同樣的與holder.tv_number我認爲 – Pavan

相關問題