1
Android에서 타이머 또는 알람 관리자를 사용하여 하루에 하나의 항목 만 선택하도록 사용자의 유효성을 검사해야합니다. 사용자가 하루에 두 개 이상의 항목을 가져 오지 않는지 쉽게 확인할 수 있도록 디자인하는 더 좋은 방법이 있습니까? 목록보기에 표시된 10 개의 항목 목록이 있습니다. 사용자가 목록에서 항목을 가져옵니다. 그는 단 하나의 아이템을 가져야한다. 그가 다시 시도하면 하루에 한 번만 한 항목을 경고해야합니다. 시간 사이 인 경우Android의 목록보기에서 하루에 한 번 유효성 확인
공용 클래스 MainActivity가 활동을 확장 {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Effects.getInstance().init(this);
ListView lv = (ListView) findViewById(R.id.listView);
List<ItemDetail> itemList = createItems(10);
// Load animation
final Animation anim = AnimationUtils.loadAnimation(this, R.anim.fade_anim);
final ArrayAdapter<ItemDetail> aAdpt = new ArrayAdapter<ItemDetail>(this, android.R.layout.simple_list_item_1,
itemList);
lv.setAdapter(aAdpt);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, final View view, final int position, long id) {
MediaPlayer mPlayer = MediaPlayer.create(MainActivity.this, R.raw.gum_bubble_pop);
mPlayer.start();
anim.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
long now = System.currentTimeMillis();
long lastCheckedMillis = 0;
long diffMillis = now - lastCheckedMillis;
if(diffMillis >= (3600000 * 24)) {
// store now (i.e. in shared prefs)
// do the check
} else {
// too early
}
if(aAdpt.getCount()==9) {
Toast.makeText(MainActivity.this, "You can get only one gift per day "+now, Toast.LENGTH_LONG).show();
}
else {
ItemDetail item = aAdpt.getItem(position);
aAdpt.remove(item);
}
}
});
view.startAnimation(anim);
}
});
}
private List<ItemDetail> createItems(int size) {
List<ItemDetail> result = new ArrayList<ItemDetail>();
for (int i = 0; i < size; i++) {
ItemDetail item = new ItemDetail(i, "Gift " + (i + 1));
result.add(item);
}
return result;
}
}