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

getView()호출이 안되요.도움부탁드려요.ㅠㅜ

0 추천

public class TableList  extends ManagedActivity  {

.....

private void makeList(){
      
       int level       = 0;
       String chkCode  = "";
       String chkName = "";
      
       myView = (ListView) this.findViewById(R.id.listView);
      
       //ListView의 데이터 Adapter를 초기화해준다.
       itemAdapter = new ItemAdapter(getApplicationContext());
       myView.setAdapter(itemAdapter);
  
      for(int i=0;i<dsAllocCheckList.getRowCount();i++) {
          
           level          = dsAllocCheckList.getColumnAsInteger(i, "LEVEL");
           chkCode     = dsAllocCheckList.getColumnAsString(i, "CHK_CODE");
        
        
           chkName = dsAllocCheckList.getColumnAsString(i, "CHK_NAME");
                Item item = new Item(level, chkCode,chkName);
           itemAdapter.add(item);

                    itemAdapter.notifyDataSetChanged();
                  }
   

public class ItemAdapter extends BaseAdapter implements OnClickListener {

    private Item myItem;
    private ArrayList<Item> itemList;
    private Context mcontext;

..

 @Override
       public View getView(int position, View convertView, ViewGroup parent) {
              
            View v = convertView;
           
            Log.i("레고몽","dddddddddddddddddddddddddd");
           
            if( v == null){
                v = ((LayoutInflater) mcontext.getSystemService(Context.LAYOUT_INFLATER_SERVICE))
                        .inflate(R.layout.w_checklist_row, null);
            }
           
              lstContents = (TextView) v.findViewById(R.id.lstContents);
              RadioMainCheck = (RadioGroup) v.findViewById(R.id.RadioMainCheck);
              RadioNormal = (RadioButton) v.findViewById(R.id.RadioNormal);
              RadioBad = (RadioButton) v.findViewById(R.id.RadioBad);
             
              btnPicture = (Button) v.findViewById(R.id.btnPicture);
              viewVisible = (View) v.findViewById(R.id.viewVisible);
             
              myItem = getItem(position);
             
              if (myItem != null){
                  Log.i("레고몽","ㅇㅇ??? >>" + myItem.getchkName());
                  lstContents.setText(myItem.getchkName());
                                
              }

               return v;
      }

 

커스텀 리스트뷰를 개발중인데 getView 호출이 안되요.ㅠㅜ

itemAdapter.add(item) 요기 빨간색으로 표시한데까지 데이터 들어가는건 확인 됬는데 왜 겟뷰 호출이 안되는지 모르겠습니다.

 

고수님들 조언 좀 제발 부탁드려요 ㅠㅜ

 

 

 

 

 

    
      
   }

주숙 (260 포인트) 님이 2016년 2월 4일 질문

1개의 답변

+1 추천
 
채택된 답변

ItemAdapter 는 저 코드가 다인가요?

getCount를 오버라이드해서 전달받은 list의 크기만큼 리턴해 주셔야합니다.

count가 0이면 리스트가 없다고 생각하기때문에 getView가 호출이 되지 않습니다.

그리고 for문 안에서  itemAdapter.notifyDataSetChanged(); 를 할필요는 없을것 같고,

for문이 끝나서 전체 데이터가 담긴후 마지막에 호출하시는게 더 좋을것 같네요.

캬옹이 (37,920 포인트) 님이 2016년 2월 4일 답변
주숙님이 2016년 2월 4일 채택됨
너무너무너무 정말 진심 너무 감사합니다.
덕분에 빠르게 해결했습니다. getCount 값을 제가 잘못가져오고 있었네요 ㅠㅜ
너무너무 감사합니다 정말
우와~ 빨리 해결하셔서 다행이네요~
...