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

로직이 구현이 안되서요. 조언을 얻고자 합니다.

0 추천

액티비티가 여러개 있는데요

우선  A액티비티에서 SAVE 버튼을 누르면 디비에 저장이 됩니다.

그리고 B액티비티에서 SHARE버튼을 누르면 디비에 저장이 됩니다.

이 두개의 디비는 같은 테이블 컬럼을 씁니다.

Arraylist에 이 두개의 디비값을 구분하기 위해 커스텀 리스트뷰에 들어가는 이미지를 변경하려 합니다.

그래서 inflate분기문을 쓸려고 하는데요.

if문에 조건을 뭘 넣어야할지 참 감이 안 잡힙니다.ㅠㅠ

 

어떤 버튼으로 디비에 저장이 되었는지 구분할수 있을까요?

아니면 다른 방식이 있을까여?

혹 버튼으로 구분할수 있다면 if()  괄호안에 뭐라고 써야할까요

 

inflate구문은 다음과 같습니다.

public View getView(final int position, View convertView, ViewGroup parent) {

final MpmDto item = mpmList.get(position);
   
   if() {
   
   View v = Inflater.inflate(R.layout.row, parent, false);
   LinearLayout body = (LinearLayout) v.findViewById(R.id.body);
   CheckBox check = (CheckBox) v.findViewById(R.id.check);
   TextView datee = (TextView) v.findViewById(R.id.date);
   TextView place = (TextView) v.findViewById(R.id.place);  

   datee.setText("Date " +item.date + " "+item.time);
   place.setText("Place "+ item.place);
   
   body.setOnClickListener(new OnClickListener() {

 @Override
    public void onClick(View v) {
     Intent i = new Intent(SaveList.this, DetailActivity.class);
     i.putParcelableArrayListExtra("list", mpmList);
     i.putExtra("position", position);
     startActivity(i);
    }
   });
     
   if(checkMap.get(position) != null) {
    check.setChecked(true);
   } else {
    check.setChecked(false);
   }
   check.setOnCheckedChangeListener(new OnCheckedChangeListener() {    
    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
     if(isChecked) {
      checkMap.put(position, position);
     } else {
      checkMap.remove(position);
     }
    }
   });
   return v;
   }

 

앤드류이드 (6,190 포인트) 님이 2013년 7월 9일 질문

2개의 답변

+1 추천
 
채택된 답변
Database안에 컬럼을 하나 추가해서 flag 값을 넣으면 되지 않나요? 가령

flag_clicked_btn 이라는 컬럼을 넣어서 A 엑티비티에서 눌렸으면 0

B엑티비티에서 눌렸으면 1 이렇게 해서 이걸 체크해서 나누면 될것 같습니다.
pulak (2,610 포인트) 님이 2013년 7월 9일 답변
앤드류이드님이 2013년 7월 9일 채택됨
0 추천
구별방법은 윗분 말씀대로 flag 를 column을 하나 더 만들어서 구별하시는게 좋을 것 같아요.

 

그리고 getView() 내에서 convertView 와 viewHolder에 대해 한번 알아보시고 수정하시는게 좋을 것 같아요.

위 소스대로 하면 버벅거림이나, OOM 발생할 수 있어요.
익명사용자 님이 2013년 7월 9일 답변
허걱 ㅋㅋ 그렇군요.. 한번 알아볼께요......정말 감사드립니다. 소소한것까지 짚어주시고~
...