우선 로그기록 부터 보여주자면 이런식으로 버튼을 처음눌렀을땐 click값이 증가해서 db에 업데이트가 되는데.. 그 이후론 되지않는데 뭐가 문제일까요.. 저는 리스트뷰를 사용했고 Adapter로 연결해서 각 리스트뷰마다 버튼이있는 형태입니다.. 뭐가 문제인지 모르겠어요 ㅠㅠ
저는 go 버튼을 누르면 프로그래스바가 증가하게 하고싶은데 증가는했는데.. 두번이상클릭하면 더이상 증가가안되고.. 다른 액티비티 다녀와야 다시 한번 증가가 되더라고요 ㅠㅠ 문제가뭘까요
12-06 00:10:10.100 14073-14073/? D/ASDF: UPDATE company SET click = 1 WHERE _id = 1
12-06 00:10:10.276 14073-14073/? D/ASDF: UPDATE company SET click = 2 WHERE _id = 1
12-06 00:10:10.506 14073-14073/? D/ASDF: UPDATE company SET click = 2 WHERE _id = 1
12-06 00:10:10.721 14073-14073/? D/ASDF: UPDATE company SET click = 2 WHERE _id = 1
public DBAdapter3(Context context, Cursor c) {
super(context, c);
}
public long getItemId(int position){
return position;
}
@Override
public void bindView(View view, final Context context, Cursor cursor) {
Resources res = view.getResources();
final ProgressBar progressbar =(ProgressBar)view.findViewById(R.id.progressbar);
final Button btn_go =(Button)view.findViewById(R.id.progressgo);
final int num =cursor.getInt(cursor.getColumnIndex("count"));
final int position = cursor.getInt(cursor.getColumnIndex("_id"));
final int pass = cursor.getInt(cursor.getColumnIndex("click"));
do {
try {
progressbar.setProgress((pass * 100) / num);
} catch (Exception e) {
e.printStackTrace();
}
}
while (cursor.moveToNext());
do { (이부분과 관련된 선언한 변수명관련해서는 삭제함..프로그래스바 증가부분이기때문에 이부분은 제외하고봐주세요!)
try {
if (end > 0) {
// String name = (String)tx_name.setTextColor(Color.DKGRAY);
//tx_num.setTextColor(Color.WHITE);
tx_name.setTextColor(Color.parseColor("#8C8C8C"));
//tx_num.setBackgroundColor(Color.parseColor("#F2F2F2"));
layout.setBackgroundColor(Color.parseColor("#F2F2F2"));
btn_go.setVisibility(View.INVISIBLE);
btn_end.setVisibility(View.INVISIBLE);
progressbar.setProgressDrawable(draw);
} else {
}
} catch (Exception e) {
e.printStackTrace();
}
}while (cursor.moveToNext());
btn_go.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
try {
dbmanager = new DBManager(view.getContext());
sqlitedb = dbmanager.getWritableDatabase();
final int CLICK_UP = pass + 1;
String pass_modify = "UPDATE company SET click = " + CLICK_UP + " WHERE _id = " + position;
sqlitedb.execSQL(pass_modify);
Log.d("ASDF", pass_modify);
progressbar.setProgress((CLICK_UP * 100) / num);
} catch (Exception e) {
e.printStackTrace();
}
}
});
btn_end.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AlertDialog.Builder alertDlg = new AlertDialog.Builder(view.getContext());
alertDlg.setTitle("진행을 종료하시겠습니까?");
dbmanager = new DBManager(view.getContext());
sqlitedb = dbmanager.getWritableDatabase();
// '예' 버튼이 클릭되면
alertDlg.setPositiveButton("예", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
int PUSH_END = end + 1;
String end_modify = "update company set end = " + PUSH_END + " WHERE _id = " + position;
Log.d("ASDF", end_modify);
sqlitedb.execSQL(end_modify);
//tx_num.setTextColor(Color.WHITE);
tx_name.setTextColor(Color.parseColor("#8C8C8C"));
// tx_num.setBackgroundColor(Color.parseColor("#F2F2F2"));
layout.setBackgroundColor(Color.parseColor("#F2F2F2"));
btn_go.setVisibility(View.INVISIBLE);
btn_end.setVisibility(View.INVISIBLE);
progressbar.setProgressDrawable(draw);
}
});
// '아니오' 버튼이 클릭되면
alertDlg.setNegativeButton("아니오", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss(); // AlertDialog를 닫는다.
}
});
alertDlg.show();
//return true;
}
});
//notifyDataSetChanged();
onContentChanged();
}
}