在我的ListView我已經srno,名稱,按鈕和countdowntimer.Button可以在倒數計時器finished.All工作fine.But問題可以點擊刪除不工作是當接近我的應用程序和再次打開倒計時器從頭開始重新啓動。我希望倒計時器運行,即使我關閉我的應用程序。我已經卡在這裏從過去3天任何人都可以給我確切的代碼plz.Following是我的代碼 -倒數計時器,當應用程序從背景
Second的.java
public class Second extends Activity{
TextView txtsrno,txtflower,txtstatus,txttimeleft;
ListView listView;
ArrayList<Model> flowerlist;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
txtsrno = (TextView) findViewById(R.id.srno);
txtflower = (TextView) findViewById(R.id.name);
txtstatus = (TextView) findViewById(R.id.buy);
txttimeleft=(TextView)findViewById(R.id.remtime);
listView = (ListView) findViewById(R.id.list);
flowerlist = new ArrayList<>();
flowerlist.add(new Model(1, "Rose",System.currentTimeMillis() + 1800000));
flowerlist.add(new Model(2, "Sunflower",System.currentTimeMillis() + 10000));
flowerlist.add(new Model(3, "Lotus",System.currentTimeMillis() + 30000));
flowerlist.add(new Model(4, "Jasmine",System.currentTimeMillis() + 600000));
SecondCustom sc = new SecondCustom(this, flowerlist);
listView.setAdapter(sc);
}
}
SecondCustom.java
public class SecondCustom extends BaseAdapter {
Activity a;
ArrayList<Model> flowerlist;
private List<Viewholder> lstHolders;
long timeDiff;
private Handler mHandler = new Handler();
private Runnable updateRemainingTimeRunnable = new Runnable() {
@Override
public void run() {
synchronized (lstHolders) {
long currentTime = System.currentTimeMillis();
for (Viewholder holder : lstHolders) {
holder.updateTimeRemaining(currentTime);
}
}
}
};
public SecondCustom(Activity a, ArrayList<Model> flowerlist) {
this.a = a;
this.flowerlist = flowerlist;
lstHolders = new ArrayList<>();
startUpdateTimer();
}
private void startUpdateTimer() {
Timer tmr = new Timer();
tmr.schedule(new TimerTask() {
@Override
public void run() {
mHandler.post(updateRemainingTimeRunnable);
}
}, 1000, 1000);
}
@Override
public int getCount() {
return flowerlist.size();
}
@Override
public Object getItem(int i) {
return flowerlist.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
public class Viewholder {
TextView srno, name, ltime;
Button buy;
Model mModel;
public void setData(Model item) {
mModel = item;
name.setText(item.name);
updateTimeRemaining(System.currentTimeMillis());
}
public void updateTimeRemaining(long currentTime) {
timeDiff = mModel.expirationTime - currentTime; // Changes -- remove long
if (timeDiff > 0) {
int seconds = (int) (timeDiff/1000) % 60;
int minutes = (int) ((timeDiff/(1000 * 60)) % 60);
int hours = (int) ((timeDiff/(1000 * 60 * 60)) % 24);
ltime.setText(hours + ":" + minutes + ":" + seconds);
buy.setClickable(false);
} else {
buy.setClickable(true);
ltime.setText("Buy Now!!");
buy.setBackgroundColor(Color.parseColor("#e72929"));
}
}
}
@Override
public View getView(final int i, View convertView, ViewGroup viewGroup) {
Viewholder viewholder = null;
if (convertView == null) {
viewholder = new Viewholder();
LayoutInflater li = a.getLayoutInflater();
convertView = li.inflate(R.layout.secondcustom, viewGroup, false);
viewholder.srno = (TextView) convertView.findViewById(R.id.sr);
viewholder.name = (TextView) convertView.findViewById(R.id.flow);
viewholder.buy = (Button) convertView.findViewById(R.id.st);
viewholder.ltime = (TextView) convertView.findViewById(R.id.lefttime);
convertView.setTag(viewholder);
synchronized (lstHolders) {
lstHolders.add(viewholder);
}
} else {
viewholder = (Viewholder) convertView.getTag();
}
viewholder.setData((Model) getItem(i));
final Model model = flowerlist.get(i);
viewholder.srno.setText(valueOf(flowerlist.get(i).getSr()));
viewholder.name.setText(valueOf(flowerlist.get(i).getName()));
viewholder.ltime.setText(valueOf(flowerlist.get(i).getExpirationTime()));
viewholder.buy.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(a, "Purchased" + " " + flowerlist.get(i).getName(), Toast.LENGTH_LONG).show();
}
});
return convertView;
}
}
我已經看到了與服務的例子,但他們已經在他們的主要page.But實現,因爲我在SecondCustom頁想要無法理解如何實現它。 – Neha
無我不想暫停,然後應用程序被打開again.I時候開始就希望時間必須保持,即使應用程序被關閉運行。 – Neha