问:如何在自定义列表视图中添加倒数计时器?
答:请详细说明您的问题。您想要在ListView中进行哪种自定义。
对于倒数计时器,您可以使用以下代码:-f
inal Handler handler = new Handler();
计时器计时器=新的计时器();
TimerTask doAsynchronousTask = new TimerTask(){
@Override
公共无效run(){
handler.post(new Runnable(){
公共无效run(){
//此行每5分钟执行一次
}
});
}
};
timer.schedule(doAsynchronousTask,0,50000); //每50000 ms执行一次
答:可以使用从这里您可以在列表视图中下载Countdown计时器的源代码
这是我的适配器:
包com.androidsolutionworld.multipletimer;
导入android.os.CountDownTimer;
导入android.support.v7.widget.RecyclerView;
导入android.util.Log;
导入android.view.LayoutInflater;
导入android.view.View;
导入android.view.ViewGroup;
导入android.widget.TextView;
导入java.util.ArrayList;
公共类Adapter扩展了RecyclerView.Adapter {
私有ArrayList al_ data;
公共类MyViewHolder扩展了RecyclerView.ViewHolder {
公共TextView电视&timer;
CountDownTimer计时器;
公用MyViewHolder(视图){
超级(视图);
tv_ timer =(TextView)view.findViewById(R.id.tv_ timer);
}
}
公共适配器(ArrayList al_ data){
this.al_ data = al_ data;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent,int viewType){
视图view = LayoutInflater.from(parent.getContext())。inflate(R.layout.adapter_ layout,parent,false);
返回新的MyViewHolder(view);
}
@Override
public void onBindViewHolder(最终MyViewHolder持有人,int位置){
holder.tv&timer.setText(al_ data.get(position));
如果(holder.timer!= null){
holder.timer.cancel();
}
长计时器= Long.parseLong(al_ data.get(position));
计时器=计时器* 1000;
holder.timer = new CountDownTimer(timer,1000){
公共无效onTick(long millisUntilFinished){
holder.tv_ timer.setText(“” + millisUntilFinished / 1000 +“ Sec”);
}
公共无效onFinish(){
holder.tv_ timer.setText(“ 00:00:00”);
}
}。开始();
}
@Override
public int getItemCount(){
返回al&#95.data.size();
}
}