Android 개발 프로그램 잠 금 응용 간단 한 인 스 턴 스
1.기본 적 인 사고방식
①.잠 금 된 데이터베이스 만 들 기(필드:id,packagename)잠 금 을 사용 하면 잠 금 을 추가 한 패키지 이름 을 데이터베이스 에 유지 합 니 다.
②.잠 금+잠 금 없 음==휴대폰 의 모든 애플 리 케 이 션(AppInfoProvider)
2.잠 금 및 잠 금 되 지 않 은 데이터 어댑터
class MyAdapter extends BaseAdapter{
private boolean isLock;
/**
* @param isLock true false
*/
public MyAdapter(boolean isLock) {
this.isLock = isLock;
}
@Override
public int getCount() {
if(isLock){
tv_lock.setText(" :"+mLockList.size());
return mLockList.size();
}else{
tv_unlock.setText(" :"+mUnLockList.size());
return mUnLockList.size();
}
}
@Override
public AppInfo getItem(int position) {
if(isLock){
return mLockList.get(position);
}else{
return mUnLockList.get(position);
}
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if(convertView == null){
convertView = View.inflate(getApplicationContext(), R.layout.listview_islock_item, null);
holder = new ViewHolder();
holder.iv_icon = (ImageView) convertView.findViewById(R.id.iv_icon);
holder.tv_name = (TextView) convertView.findViewById(R.id.tv_name);
holder.iv_lock = (ImageView) convertView.findViewById(R.id.iv_lock);
convertView.setTag(holder);
}else{
holder = (ViewHolder) convertView.getTag();
}
final AppInfo appInfo = getItem(position);
final View animationView = convertView;
holder.iv_icon.setBackgroundDrawable(appInfo.icon);
holder.tv_name.setText(appInfo.name);
if(isLock){
holder.iv_lock.setBackgroundResource(R.drawable.lock);
}else{
holder.iv_lock.setBackgroundResource(R.drawable.unlock);
}
holder.iv_lock.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// , , ,
animationView.startAnimation(mTranslateAnimation);//500
// , , , ,
mTranslateAnimation.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
//
}
@Override
public void onAnimationRepeat(Animation animation) {
//
}
//
@Override
public void onAnimationEnd(Animation animation) {
if(isLock){
// ------>
//1. , , getItem
mLockList.remove(appInfo);
mUnLockList.add(appInfo);
//2.
mDao.delete(appInfo.packageName);
//3.
mLockAdapter.notifyDataSetChanged();
}else{
// ------>
//1. , , getItem
mLockList.add(appInfo);
mUnLockList.remove(appInfo);
//2.
mDao.insert(appInfo.packageName);
//3.
mUnLockAdapter.notifyDataSetChanged();
}
}
});
}
});
return convertView;
}
}
MyAdapter
mLockAdapter = new MyAdapter(true);
lv_lock.setAdapter(mLockAdapter);
mUnLockAdapter = new MyAdapter(false);
lv_unlock.setAdapter(mUnLockAdapter);
읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.