2015-03-19 114 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