栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

我无法在TextView中显示计时器

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

我无法在TextView中显示计时器

修改了Adapter类以使倒计时工作正常。

public class TicketAdapter extends ArrayAdapter<TicketModel> implements View.OnClickListener{    private ArrayList<TicketModel> dataSet;    Context mContext;    // View lookup cache    private class ViewHolder {        TextView txtName;        TextView txtType;        TextView txtTempsRestant;        TextView txtDate;        TextView txtSLA;        ImageView info;        RelativeLayout layout;        Handler handler = new Handler(){ @Override public void handleMessage(Message msg) {     System.out.println("handler");     Bundle bundle = msg.getData();     long timeLeftMS = bundle.getLong("time");     int hour = (int) ((timeLeftMS / (1000*60*60)) % 24);     int minute = (int) ((timeLeftMS / (60000)) % 60);     int seconde = (int)timeLeftMS % 60000 / 1000;     String timeLeftText = "";     if (hour<10) timeLeftText += "0";     timeLeftText += hour;     timeLeftText += ":";     if (minute<10) timeLeftText += "0";     timeLeftText += minute;     timeLeftText += ":";     if (seconde<10) timeLeftText += "0";     timeLeftText += seconde;     txtTempsRestant.setText(timeLeftText); }        };        public void startTimer(long timeLeftMS) { CountDownTimer countDownTimer = new CountDownTimer(timeLeftMS, 1000) {     @Override     public void onTick(long l) {         Bundle bundle = new Bundle();         bundle.putLong("time", l);         Message message = new Message();         message.setData(bundle);         handler.sendMessage(message);     }     @Override     public void onFinish() {     } }.start();        }      }    public TicketAdapter(ArrayList<TicketModel> data, Context context) {        super(context, R.layout.row_item_ticket, data);        this.dataSet = data;        this.mContext=context;        //startUpdateTimer();    }    @Override    public void onClick(View v) {        int position=(Integer) v.getTag();        Object object= getItem(position);        TicketModel TicketModel=(TicketModel)object;        switch (v.getId())        { case R.id.item_info:     Snackbar.make(v, "is Late? : " +TicketModel.isTicketEnRetard(), Snackbar.LENGTH_LONG)  .setAction("No action", null).show();     break;        }    }    private int lastPosition = -1;    @Override    public View getView(int position, View convertView, ViewGroup parent) {        // Get the data item for this position        TicketModel TicketModel = getItem(position);        // Check if an existing view is being reused, otherwise inflate the view        final ViewHolder viewHolder; // view lookup cache stored in tag        final View result;        if (convertView == null) { viewHolder = new ViewHolder(); LayoutInflater inflater = LayoutInflater.from(getContext()); convertView = inflater.inflate(R.layout.row_item_ticket, parent, false); viewHolder.txtName = (TextView) convertView.findViewById(R.id.titreTV); viewHolder.txtDate = (TextView) convertView.findViewById(R.id.dateTV); viewHolder.txtSLA = (TextView) convertView.findViewById(R.id.slaTV); viewHolder.txtTempsRestant = (TextView) convertView.findViewById(R.id.SLARestantTV); viewHolder.info = (ImageView) convertView.findViewById(R.id.item_info); viewHolder.layout = (RelativeLayout) convertView.findViewById(R.id.backgroundRow); result=convertView;viewHolder.startTimer(Long.valueOf(TicketModel.getTempsRestantTicket())); convertView.setTag(viewHolder);        } else { viewHolder = (ViewHolder) convertView.getTag(); result=convertView;        }        Animation animation = AnimationUtils.loadAnimation(mContext, (position > lastPosition) ? R.anim.up_from_bottom : R.anim.down_from_top);        result.startAnimation(animation);        lastPosition = position;        viewHolder.txtName.setText(TicketModel.getTitreTicket());        viewHolder.txtDate.setText(TicketModel.getDateTicket());        viewHolder.txtSLA.setText(TicketModel.getSlaTicket());        //viewHolder.txtTempsRestant.setText(TicketModel.getTempsRestantTicket());        viewHolder.info.setImageResource(getIconUrgence(TicketModel.getUrgenceTicket()));        viewHolder.layout.setBackgroundColor(getColorBG(TicketModel.isTicketEnRetard()));        viewHolder.info.setonClickListener(this);        viewHolder.info.setTag(position);        System.out.println("Here : "+TicketModel.getTitreTicket()); //getting each item's name        System.out.println("Time = "+TicketModel.getTempsRestantTicket()); //getting each item's time left and it's correct        // Return the completed view to render on screen        return convertView;    }    private int getColorBG(boolean ticketEnRetard) {        int color;        if (ticketEnRetard){ color = Color.parseColor("#3caa0000");        }        else{ color = Color.parseColor("#ffffff");        }        return color;    }    private int getIconUrgence(String urgenceTicket) {        int icon;        if((urgenceTicket.equals("Très basse"))||(urgenceTicket.equals("Basse"))){ icon = R.drawable.basse;        }        else if((urgenceTicket.equals("Haute"))||(urgenceTicket.equals("Très haute"))){ icon = R.drawable.haute;        }        else { icon = R.drawable.moyenne;        }        return icon;    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/440870.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号