마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

변수 공유 문제 오류좀 봐주세요..

0 추천

제가 리스트뷰별로 막대 프로그래스바와 go 버튼이 있는데요 go 버튼이 눌리면 체크박스 총 4개중 선택된 갯수를 받는 변수가 count인데 100/count 를 해서 프로그래스바를 진행시키는거예요

근데 만약 count가 리스트뷰 아이템별로 4/3/4 이렇게 있으면 세번째 리스트뷰 4가 맨앞에 있는 4를 go버튼을 누를때 값이 같이 따라가는데...안따라가고...각 아이템별로 독립적으로 하고싶은데 ㅠㅠ 뭐가문제일까요

 

@Override
public void bindView(View view, Context context, Cursor cursor) {

  
    final ProgressBar progressbar =(ProgressBar)view.findViewById(R.id.progressbar);
    final TextView tx_count =(TextView)view.findViewById(R.id.checkcount);
    final Button btn_go =(Button)view.findViewById(R.id.progressgo);
    final Button btn_end =(Button)view.findViewById(R.id.progressend);
    final int  num =cursor.getInt(cursor.getColumnIndex("count"));
     int  position = cursor.getInt(cursor.getColumnIndex("_id"));
    pref = PreferenceManager.getDefaultSharedPreferences(context);
    editor = pref.edit(); // 에디터를 받아옵니다.
    //불러온당
    Log.e("확인", "###########버튼문제확인##############");
   //int _id = cursor.getInt(cursor.getColumnIndex("_id"));

    do {
        try {
            if (num == 4) {
                progressbar.setProgress(pref.getInt("progressbar", 0));
            } else if (num == 3) {
                progressbar.setProgress(pref.getInt("progressbar2", 0));
            } else if (num == 2) {
                progressbar.setProgress(pref.getInt("progressbar3", 0));
            } else {
                progressbar.setProgress(pref.getInt("progressbar4", 0));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    while (cursor.moveToNext());

    btn_go.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            try{

                //id1.setTag(position);
                Log.d("확인", "###########버튼문제확인##############");
            if (num == 4) {
                progressbar.incrementProgressBy((int) 100 / 4);
                editor.putInt("progressbar", progressbar.getProgress()).apply();

                //editor.apply();
                //progressbar.setProgress(pref.getInt("progressbar", 0));

            } else if (num == 3) {
                progressbar.incrementProgressBy(34);
                editor.putInt("progressbar2", progressbar.getProgress()).apply();
               //editor.apply();
                //progressbar.setProgress(pref.getInt("progressbar2", 0));

            } else if (num == 2) {
                progressbar.incrementProgressBy((int) 100 / 2);
                editor.putInt("progressbar3", progressbar.getProgress()).apply();
               // editor.apply();
                //progressbar.setProgress(pref.getInt("progressbar3", 0));

            } else {
                progressbar.incrementProgressBy(100);
                editor.putInt("progressbar4", progressbar.getProgress()).apply();
                editor.apply();
              // progressbar.setProgress(pref.getInt("progressbar4", 0));
            }

                //editor.apply();
            if(progressbar.getMax() == 100){
            Toast.makeText(view.getContext(), "합격을 축하드립니다 :)",
                    Toast.LENGTH_SHORT).show();}
                else{
                Toast.makeText(view.getContext(), "진행이 종료되었습니다.",
                        Toast.LENGTH_SHORT).show();
            }

        }catch(Exception e){
                e.printStackTrace();
            }

        }

    });
    btn_end.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

        }
    });

    onContentChanged();

}
뚜루루루둡 (1,130 포인트) 님이 2016년 11월 28일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...