【问题标题】:want to set strike in textview in listview想在listview的textview中设置罢工
【发布时间】:2011-09-20 11:30:10
【问题描述】:

我有 ListView,我必须在其中显示具有自定义布局的 TextView。我正在显示带有截止日期的任务列表。现在我想对 TextView 的文本设置罢工效果,该文本的截止日期晚于我可以设置的当前日期,但是当我滚动视图时,它的更改意味着它在今天的日期或明天的日期任务上设置。

这是我的代码:

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

     Date due_date = new Date(due_date_long);

     if (convertView == null) {
         view = mInflater.inflate(R.layout.tasks_row2, null);
         ViewHolder holder = new ViewHolder();
         holder.text1 = (TextView) view.findViewById(R.id.label);//Task Title
         view.setTag(holder);
     }else{
         view = convertView;
     }
     ViewHolder holder = (ViewHolder) view.getTag();
     holder.text1.setText(task_title);
     //if(YESTERDAY.equals(task_date))
     if(cur_date.after(due_date))
         holder.text1.setPaintFlags(Paint.STRIKE_THRU_TEXT_FLAG);

    return view;
}

【问题讨论】:

    标签: android android-listview textview


    【解决方案1】:

    这是一个很常见的问题,你必须写下这一行的 else 部分

    if(cur_date.after(due_date))
         holder.text1.setPaintFlags(Paint.STRIKE_THRU_TEXT_FLAG);
    else
         // set something which default for textview
    

    【讨论】:

    • 我想对过期任务设置罢工效果,所以只有在需要条件并且默认情况下不需要放置 else 部分
    • 这是在列表视图中,所以当滚动列表或打开任何任务并关闭时,一些当前任务或今天的任务将受到罢工的影响
    • 是的,我知道,这就是为什么我在其他部分中将 textview 设置为默认的 bcoz listview 致力于回收视图,只是试了一下它会解决你的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-12
    • 1970-01-01
    • 2015-02-09
    • 1970-01-01
    相关资源
    最近更新 更多