2015-03-19 107 views
0

我有一個列表視圖。我有一個狀態的textview。現在我想在取消狀態時禁用該文本視圖。在這個列表項中,我有一個textview(Ride Status)現在當乘坐狀態被取消,當我設置適配器時,我想要從列表項中隱藏取消乘車文本視圖。我已經嘗試過,但這不適合我。在廣告中感謝。如何隱藏文本視圖從列表視圖中的列表視圖項在Android中

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

     final DrawerListItemHolder holder; 
     if (convertView == null) { 
      holder = new DrawerListItemHolder(); 

     holder.mRideStatus = (TextView) convertView 
        .findViewById(R.id.ride_status); 
      holder.mCancelRide = (TextView) convertView 
        .findViewById(R.id.cancle_ride); 
      holder.mViewRide = (TextView) convertView 
        .findViewById(R.id.view_ride); 

      convertView.setTag(holder); 
     } else { 
      holder = (DrawerListItemHolder) convertView.getTag(); 
     } 



     String rideType = BravoDataController.getInstance(mContext) 
       .getTripStatusDescription(
         mMyRides.get(position).getTripStatusCode()); 
     holder.mRideStatus.setText(rideType); 

     holder.mRideStatus.setTextColor(Color.parseColor(BravoDataController 
       .getInstance(mContext).getTripStatusColor(
         mMyRides.get(position).getTripStatusCode()))); 

     if (rideType.equals(ConstantsUtils.CANCELLED)) { 
      holder.mCancelRide.setVisibility(View.GONE); 
     } 


     return convertView; 
    } 
+0

讓你的情況完美無缺。 – Riser 2015-03-19 06:23:25

+0

通過運行此代碼,您遇到任何錯誤?請調試並檢查您的「是否」條件得到執行。 – dhuma1981 2015-03-19 06:23:49

+0

@ dhuma1981: - 它完美地適用於前三個列表視圖項目。但後三個項目是隱藏取消騎文本視圖無論是乘坐狀態被取消或任何其他 – 2015-03-19 06:26:36

回答

0

更改getView你的條件

if (rideType.equals(ConstantsUtils.CANCELLED)) { 
      holder.mCancelRide.setVisibility(View.GONE); 
     }else{ 
     holder.mCancelRide.setVisibility(View.VISIBLE); 
} 

當標誌改變調用此adapter.notifyDataSetChanged()

+0

有沒有必要調用adapter.notifyDataSetChanged()我猜。 – dhuma1981 2015-03-19 06:28:55

+0

會有一些地方被取消,通過只是調用notifyDataSetChanged將更新列表視圖 – Fahim 2015-03-19 06:31:20