我正在开发一个ListView,它包含多个CountdownTimers。 我解决了这个问题,直接在我的BaseAdapter(getView())中启动了CountdownTimer。 我的解决方案正在运行,但我认为这对资源非常浪费!
您如何看待,是好还是有更好的解决方案?
我的第二个问题涉及生命周期。 当我关闭我的应用程序或切换Activty,或任何我必须的任务时,我怎么能从我的片段/活动中访问它?
这是我的适配器:
public class GamesAdapter extends BaseAdapter {
private Context context;
private List<GamesData> data;
private Date d1 = null;
private Date d2 = null;
public GamesAdapter(Context context, List<GamesData> data) {
this.context = context;
this.data = data;
}
@Override
public int getCount() {
return data.size();
}
@Override
public Object getItem(int position) {
return data.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.list_item_games, null);
GamesData gamesData = data.get(position);
TextView name = (TextView) convertView.findViewById(R.id.name);
name.setText(gamesData.getName());
final TextView time = (TextView) convertView
.findViewById(R.id.time);
try {
d1 = new SimpleDateFormat("dd/mm/yy HH:mm:ss").parse(gamesData
.getCurrentDateandTime());
d2 = new SimpleDateFormat("dd/mm/yy HH:mm:ss").parse(gamesData
.getDate());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
long diff = d2.getTime() - d1.getTime();
DateCountDownTimer mTimer = new DateCountDownTimer(diff, 1000, time);
**// Here I'm starting the Timer !!**
mTimer.start();
}
return convertView;
}
}
期待有用的/提供信息的答案,并提前致谢。
祝七月最好的问候