Android:ListView中的CountdownTimer ||性能

时间:2014-06-17 20:08:01

标签: android listview countdowntimer

我正在开发一个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;
}
}

期待有用的/提供信息的答案,并提前致谢。

祝七月最好的问候

0 个答案:

没有答案