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

그리드뷰 색상문제입니다

0 추천

질문을 읽어주셔서 감사합니다!!ㅜㅜ 현재 안드로이드 시간표어플을 구현중에 있습니다

그림과 같이 그리드 뷰로 만들어져 있는 상태에서 각 셀을 롱 클릭하게 되면 인텐트를 사용하여

과목 등과 스피너를 통해 색상을 고를 수 있도록 구현해놓은 상태입니다.

그리드 뷰에는 과목명만 나오고 나머지 강의실등은  셀을 클릭 했을 때 토스트 메시지를 주어 나타냈습니다.

소스를 보시면 GET STRING 과 RESULT를 통해 인텐트로 부터 값들을 받앗구요

출력할 것은 출력하고 문제는 색상인데 소스 처럼 하려는데 텍스트들만 나오고 색은 변경이 되질 않네요ㅜㅜ

해결 방법이나 조언 좀 해주시면 감사하겠습니다ㅜㅜ

timetable.setOnItemLongClickListener(new OnItemLongClickListener() {

   @Override
   public boolean onItemLongClick(AdapterView<?> parent, View v,
     int position, long id) {
    // TODO Auto-generated method stub
    Position = position;
    mParent=parent;
    mTempView=v;
          if(Position%6==0 && Position<6){
              v.setClickable(false);
          }else{
           callActivity(Timeadapter.Context,Position);
          }
         
          //parent.getChildAt(position);
          //mTempView=parent.getChildAt(position);
    return false;
   }
  });
  timetable.setOnItemClickListener(new OnItemClickListener() {
   public void onItemClick(AdapterView<?> parent, View v,
     int position, long id) {   
    mParent=parent;
    
    Toast.makeText(TimeActivity.this, "강   의: "+Str[position]+"\n강의실: "+Str1[position]+"\n교   수: "+Str2[position], Toast.LENGTH_SHORT).show();
       //v.setBackgroundColor(Color.RED);
   }
  });
  
 }

 public void callActivity(Context context, int selectedIndex) {
  Intent intent = new Intent(context, Timeset.class);
  startActivityForResult(intent, GET_STRING);
 }

 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  if (requestCode == GET_STRING) {
   if (resultCode == RESULT_OK) {
    
    str =String.format("%s",data.getStringExtra("INPUT_TEXT"));
                Str[Position]=str;
    str1 =String.format("%s",data.getStringExtra("INPUT_TEXT1"));
    Str1[Position]=str1;
                str2 =String.format("%s",data.getStringExtra("INPUT_TEXT2"));
                Str2[Position]=str2;
    spi1=String.format("%s",data.getStringExtra("SPINNER1"));
    System.out.println(spi1);
          TimeList.set(Position, str);
          Timeadapter.notifyDataSetChanged();
      

             View temp =mParent.getChildAt(Position);
              if(spi1.equals(color)){
          temp.setBackgroundResource(R.color.red);
          //temp.setBackgroundColor(Color.RED);
    }else if(spi1.equals("color")){
    temp.setBackgroundResource(R.color.blue);
    }else if(spi1.equals("color")){
     temp.setBackgroundResource(R.color.green);
    }else if(spi1.equals("color")){
     temp.setBackgroundResource(R.color.blue);
    }
    timetable.setAdapter(Timeadapter);
   }
  }
 }

 

stevenfeg (160 포인트) 님이 2013년 6월 6일 질문

답변 달기

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